diff --git a/res/layout/popular_warning.xml b/res/layout/popular_warning.xml
new file mode 100644
index 000000000..205bc8ddb
--- /dev/null
+++ b/res/layout/popular_warning.xml
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 0118fabda..bdd9a031d 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -165,6 +165,9 @@
删除失败
设为默认收藏夹
+
+ 该页面中的内容基于数据统计,您尚未开启数据统计。若开启数据统计,您的行为将对该页面产生影响。是否现在开启数据统计?
+
显示
主题
@@ -327,6 +330,7 @@
感觉快要窒息了
+ 不再显示
重试
本地
标签
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 3dfe744b2..fe430a597 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -166,6 +166,9 @@
Failed to delete
Set it as default favorite
+
+ 该页面中的内容基于数据统计,您尚未开启数据统计。若开启了数据统计,您的行为将对该页面产生影响。是否现在开启数据统计?
+
Display
Theme
@@ -334,6 +337,7 @@
DISASTER
+ Never show me this dialog
Retry
Local
Tag
diff --git a/src/com/hippo/ehviewer/ehclient/EhClient.java b/src/com/hippo/ehviewer/ehclient/EhClient.java
index 5a8decf8f..317080b01 100644
--- a/src/com/hippo/ehviewer/ehclient/EhClient.java
+++ b/src/com/hippo/ehviewer/ehclient/EhClient.java
@@ -1689,7 +1689,7 @@ public class EhClient {
public static int getType(String type) {
int i;
for (i = 0; i < CATEGORY_STRINGS.length - 1; i++) {
- if (CATEGORY_STRINGS[i].equals(type))
+ if (CATEGORY_STRINGS[i].equalsIgnoreCase(type))
break;
}
return CATEGORY_VALUES[i];
diff --git a/src/com/hippo/ehviewer/ui/MangaListActivity.java b/src/com/hippo/ehviewer/ui/MangaListActivity.java
index d4dbc3070..26af8ac7d 100644
--- a/src/com/hippo/ehviewer/ui/MangaListActivity.java
+++ b/src/com/hippo/ehviewer/ui/MangaListActivity.java
@@ -58,6 +58,7 @@ import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import android.net.Uri;
import android.os.Bundle;
+import android.preference.PreferenceActivity;
import android.app.ActionBar;
import android.app.AlertDialog;
import android.app.SearchManager;
@@ -914,6 +915,38 @@ public class MangaListActivity extends AbstractGalleryActivity
}
}
+ private void showPopularWarningDialog() {
+ DialogBuilder db = new DialogBuilder(MangaListActivity.this).
+ setCancelable(false).
+ setView(R.layout.popular_warning, false);
+ db.setTitle(R.string.about_analyics_title);
+ ViewGroup vg = db.getCustomLayout();
+ final CheckBox cb = (CheckBox)vg.findViewById(R.id.set_default);
+ db.setPositiveButton(android.R.string.ok, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ ((AlertButton)v).dialog.dismiss();
+ if (cb.isChecked())
+ Config.setPopularWarning(false);
+
+ Intent intent = new Intent(MangaListActivity.this,
+ SettingsActivity.class);
+ intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, SettingsActivity.AboutFragment.class.getName());
+ intent.putExtra(PreferenceActivity.EXTRA_NO_HEADERS, true);
+ startActivity(intent);
+ }
+ });
+ db.setNegativeButton(android.R.string.cancel, new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ ((AlertButton)v).dialog.dismiss();
+ if (cb.isChecked())
+ Config.setPopularWarning(false);
+ }
+ });
+ db.create().show();
+ }
+
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -1070,6 +1103,10 @@ public class MangaListActivity extends AbstractGalleryActivity
refresh(true);
showContent();
+
+ // Show dialog
+ if (!Config.getAllowAnalyics() && Config.getPopularWarning())
+ showPopularWarningDialog();
}
break;
diff --git a/src/com/hippo/ehviewer/ui/SettingsActivity.java b/src/com/hippo/ehviewer/ui/SettingsActivity.java
index 4e97fcc30..924e73c04 100644
--- a/src/com/hippo/ehviewer/ui/SettingsActivity.java
+++ b/src/com/hippo/ehviewer/ui/SettingsActivity.java
@@ -71,6 +71,12 @@ public class SettingsActivity extends AbstractPreferenceActivity {
@SuppressWarnings("unused")
private static String TAG = "Settings";
+ public static final String KEY_FRAGMENT = "FRAGMENT";
+ public static final int DEFAULT = -0x1;
+ public static final int DISPLAY = 0x0;
+ public static final int DATA = 0x1;
+ public static final int ABOUT = 0x2;
+
private SystemBarConfig mSystemBarConfig;
private List mFragments;
private ListView mListView;
@@ -136,6 +142,17 @@ public class SettingsActivity extends AbstractPreferenceActivity {
originPaddingBottom = mListView.getPaddingBottom();
adjustPadding();
+
+ /*
+ switch (savedInstanceState.getInt(KEY_FRAGMENT, DEFAULT)) {
+ case DISPLAY:
+ this.star.startPreferenceFragment(fragment, true);
+ break;
+ case DATA:
+ break;
+ case ABOUT:
+ break;
+ }*/
}
@Override
@@ -497,7 +514,8 @@ public class SettingsActivity extends AbstractPreferenceActivity {
}
public static class AboutFragment extends TranslucentPreferenceFragment
- implements Preference.OnPreferenceClickListener{
+ implements Preference.OnPreferenceClickListener,
+ Preference.OnPreferenceChangeListener {
private static final String KEY_AUTHOR = "author";
private static final String KEY_CHANGELOG = "changelog";
@@ -505,6 +523,7 @@ public class SettingsActivity extends AbstractPreferenceActivity {
private static final String KEY_WEBSITE = "website";
private static final String KEY_SOURCE = "source";
private static final String KEY_CHECK_UPDATE = "check_for_update";
+ private static final String KEY_ALLOW_ANALYICS = "allow_analyics";
private static final String KEY_ABOUT_ANALYICS = "about_analyics";
private Preference mAuthor;
@@ -513,6 +532,7 @@ public class SettingsActivity extends AbstractPreferenceActivity {
private Preference mWebsite;
private Preference mSource;
private Preference mCheckUpdate;
+ private CheckBoxPreference mAllowAnalyics;
private Preference mAboutAnalyics;
@Override
@@ -532,6 +552,8 @@ public class SettingsActivity extends AbstractPreferenceActivity {
mSource.setOnPreferenceClickListener(this);
mCheckUpdate = (Preference)findPreference(KEY_CHECK_UPDATE);
mCheckUpdate.setOnPreferenceClickListener(this);
+ mAllowAnalyics = (CheckBoxPreference)findPreference(KEY_ALLOW_ANALYICS);
+ mAllowAnalyics.setOnPreferenceChangeListener(this);
mAboutAnalyics = (Preference)findPreference(KEY_ABOUT_ANALYICS);
mAboutAnalyics.setOnPreferenceClickListener(this);
}
@@ -629,5 +651,15 @@ public class SettingsActivity extends AbstractPreferenceActivity {
}
return true;
}
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final String key = preference.getKey();
+ if (KEY_ALLOW_ANALYICS.equals(key)) {
+ if (!(Boolean)newValue)
+ Config.setPopularWarning(true);
+ }
+ return true;
+ }
}
}
diff --git a/src/com/hippo/ehviewer/util/Config.java b/src/com/hippo/ehviewer/util/Config.java
index 17472aa97..b1ab9e07b 100644
--- a/src/com/hippo/ehviewer/util/Config.java
+++ b/src/com/hippo/ehviewer/util/Config.java
@@ -66,6 +66,8 @@ public class Config {
private static final boolean DEFAULT_SET_ANALYTICS = false;
private static final String KEY_ALLOW_ANALYTICS = "allow_analyics";
private static final boolean DEFAULT_ALLOW_ANALYTICS = false;
+ private static final String KEY_POPULAR_WARNING = "popular_warning";
+ private static final boolean DEFAULT_POPULAR_WARNING = true;
private static boolean mInit = false;
@@ -309,5 +311,15 @@ public class Config {
public static void setAllowAnalyics(boolean setAnalyics) {
mConfigPre.edit().putBoolean(KEY_ALLOW_ANALYTICS, setAnalyics).apply();
+ if (!setAnalyics)
+ setPopularWarning(true);
+ }
+
+ public static boolean getPopularWarning() {
+ return mConfigPre.getBoolean(KEY_POPULAR_WARNING, DEFAULT_POPULAR_WARNING);
+ }
+
+ public static void setPopularWarning(boolean popularWarning) {
+ mConfigPre.edit().putBoolean(KEY_POPULAR_WARNING, popularWarning).apply();
}
}