diff --git a/TODO.network b/TODO.network index 6a514fbbd..df0a6d61b 100644 --- a/TODO.network +++ b/TODO.network @@ -2,7 +2,7 @@ DONE нарисовать иконку (скопирована иконка ic_m DONE переместить в главном меню наверх (вместо Settings) DONE пункт меню "delete sample" DONE BookDownloaderService - i18n -* указывать HTTP-agent = "FBReader/(java)" -- номер версии смотреть, как в диалоге About +DONE указывать HTTP-agent = "FBReader/(java)" -- номер версии смотреть, как в диалоге About * прятать Profile (прятать запрещенные каталоги) * при щелчке на книжку - сделать default action, и о нем спрашивать. diff --git a/src/org/geometerplus/zlibrary/core/util/ZLNetworkUtil.java b/src/org/geometerplus/zlibrary/core/util/ZLNetworkUtil.java index 1b02ca2a8..db69d9c94 100644 --- a/src/org/geometerplus/zlibrary/core/util/ZLNetworkUtil.java +++ b/src/org/geometerplus/zlibrary/core/util/ZLNetworkUtil.java @@ -99,4 +99,7 @@ public class ZLNetworkUtil { return new StringBuilder(url).append(delimiter).append(name).append('=').append(value).toString(); } + public static String getUserAgent(String versionName) { + return "FBReader/" + versionName + "(java)"; + } } diff --git a/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java b/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java index d42296eba..6d516cb40 100644 --- a/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java +++ b/src/org/geometerplus/zlibrary/ui/android/library/ZLAndroidApplication.java @@ -23,8 +23,12 @@ import java.util.HashMap; import android.app.Application; +import android.content.ComponentName; +import android.content.pm.PackageInfo; + import org.geometerplus.zlibrary.core.options.ZLBooleanOption; import org.geometerplus.zlibrary.core.sqliteconfig.ZLSQLiteConfig; +import org.geometerplus.zlibrary.core.util.ZLNetworkUtil; import org.geometerplus.zlibrary.ui.android.application.ZLAndroidApplicationWindow; import org.geometerplus.zlibrary.ui.android.dialogs.ZLAndroidDialogManager; @@ -53,6 +57,8 @@ public class ZLAndroidApplication extends Application { new ZLAndroidImageManager(); new ZLAndroidDialogManager(); new ZLAndroidLibrary(this); + System.err.println("FBREADER -- UserAgent = " + ZLNetworkUtil.getUserAgent(ZLAndroidApplication.Instance().getVersionName())); + System.setProperty("http.agent", ZLNetworkUtil.getUserAgent(ZLAndroidApplication.Instance().getVersionName())); } public void onTerminate() { @@ -72,4 +78,14 @@ public class ZLAndroidApplication extends Application { } private final HashMap myData = new HashMap(); + + public String getVersionName() { + try { + ComponentName comp = new ComponentName(this, this.getClass()); + PackageInfo pinfo = getPackageManager().getPackageInfo(comp.getPackageName(), 0); + return pinfo.versionName; + } catch (android.content.pm.PackageManager.NameNotFoundException ex) { + return null; + } + } }