From a2664e05d6a4c2193a3009d5543e628e30da00d5 Mon Sep 17 00:00:00 2001 From: seven332 Date: Mon, 5 Oct 2015 15:14:30 +0800 Subject: [PATCH] Only Translucent for KK --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 22 +++--- .../hippo/nimingban/ui/DirPickerActivity.java | 4 +- .../hippo/nimingban/ui/DoodleActivity.java | 4 +- .../com/hippo/nimingban/ui/DraftActivity.java | 4 +- .../com/hippo/nimingban/ui/FeedActivity.java | 4 +- .../hippo/nimingban/ui/GalleryActivity2.java | 4 +- .../com/hippo/nimingban/ui/ListActivity.java | 8 +- .../com/hippo/nimingban/ui/PostActivity.java | 4 +- .../hippo/nimingban/ui/RecordActivity.java | 4 +- .../hippo/nimingban/ui/SearchActivity.java | 4 +- .../nimingban/ui/SortForumsActivity.java | 4 +- .../hippo/nimingban/ui/TranslucentHelper.java | 74 +++++++++---------- .../hippo/nimingban/ui/TypeSendActivity.java | 4 +- app/src/main/res/values-v19/themes.xml | 19 +++++ app/src/main/res/values-v21/themes.xml | 38 ++++++++++ app/src/main/res/values/themes.xml | 30 ++++++++ 17 files changed, 157 insertions(+), 78 deletions(-) create mode 100644 app/src/main/res/values-v21/themes.xml diff --git a/app/build.gradle b/app/build.gradle index dcc88b7e..6e4a5360 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,8 +24,8 @@ android { applicationId "com.hippo.nimingban" minSdkVersion 14 targetSdkVersion 23 - versionCode 17 - versionName "1.2.3" + versionCode 18 + versionName "1.2.4" resConfigs "zh", "zh-rCN" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8b56ecf6..040998dc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -32,7 +32,7 @@ @@ -45,7 +45,7 @@ @@ -65,13 +65,13 @@ @@ -93,21 +93,21 @@ @@ -121,28 +121,28 @@ diff --git a/app/src/main/java/com/hippo/nimingban/ui/DirPickerActivity.java b/app/src/main/java/com/hippo/nimingban/ui/DirPickerActivity.java index a818e9a4..cdbc88a9 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/DirPickerActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/DirPickerActivity.java @@ -49,12 +49,12 @@ public class DirPickerActivity extends TranslucentActivity implements View.OnCli @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @TargetApi(Build.VERSION_CODES.JELLY_BEAN) diff --git a/app/src/main/java/com/hippo/nimingban/ui/DoodleActivity.java b/app/src/main/java/com/hippo/nimingban/ui/DoodleActivity.java index 2fe4567d..15164a8f 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/DoodleActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/DoodleActivity.java @@ -77,12 +77,12 @@ public final class DoodleActivity extends TranslucentActivity implements View.On @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @Override diff --git a/app/src/main/java/com/hippo/nimingban/ui/DraftActivity.java b/app/src/main/java/com/hippo/nimingban/ui/DraftActivity.java index affec570..a48e98ca 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/DraftActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/DraftActivity.java @@ -65,12 +65,12 @@ public final class DraftActivity extends TranslucentActivity implements EasyRecy @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @Override diff --git a/app/src/main/java/com/hippo/nimingban/ui/FeedActivity.java b/app/src/main/java/com/hippo/nimingban/ui/FeedActivity.java index 9327aabd..4e284d3f 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/FeedActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/FeedActivity.java @@ -79,12 +79,12 @@ public final class FeedActivity extends TranslucentActivity implements EasyRecyc @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @Override diff --git a/app/src/main/java/com/hippo/nimingban/ui/GalleryActivity2.java b/app/src/main/java/com/hippo/nimingban/ui/GalleryActivity2.java index ceffb2d5..1b54fac7 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/GalleryActivity2.java +++ b/app/src/main/java/com/hippo/nimingban/ui/GalleryActivity2.java @@ -110,12 +110,12 @@ private boolean handlerIntent(Intent intent) { @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent_Transparent; + return R.style.SwipeActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent_Transparent; + return R.style.SwipeActivity_Dark; } @SuppressWarnings("deprecation") diff --git a/app/src/main/java/com/hippo/nimingban/ui/ListActivity.java b/app/src/main/java/com/hippo/nimingban/ui/ListActivity.java index 3a74c070..c10c499e 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/ListActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/ListActivity.java @@ -147,12 +147,12 @@ public final class ListActivity extends AbsActivity @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent_Status; + return R.style.ListActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent_Status; + return R.style.ListActivity_Dark; } @Override @@ -244,9 +244,7 @@ public void onDrawerOpened(View view) { mSlidingDrawerLayout.setDrawerShadow(ContextCompat.getDrawable(this, R.drawable.drawer_shadow_left), Gravity.LEFT); mSlidingDrawerLayout.setDrawerShadow(ContextCompat.getDrawable(this, R.drawable.drawer_shadow_right), Gravity.RIGHT); - mSlidingDrawerLayout.setStatusBarColor( - TranslucentHelper.getColorForTranslucent( - ResourcesUtils.getAttrColor(this, R.attr.colorPrimaryDark))); + mSlidingDrawerLayout.setStatusBarColor(ResourcesUtils.getAttrColor(this, R.attr.colorPrimaryDark)); mPostHelper = new PostHelper(); mPostHelper.setEmptyString(getString(R.string.no_post)); diff --git a/app/src/main/java/com/hippo/nimingban/ui/PostActivity.java b/app/src/main/java/com/hippo/nimingban/ui/PostActivity.java index 3a99509c..11c3a8ea 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/PostActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/PostActivity.java @@ -154,12 +154,12 @@ private boolean handlerIntent(Intent intent) { @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent_Transparent; + return R.style.SwipeActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent_Transparent; + return R.style.SwipeActivity_Dark; } @Override diff --git a/app/src/main/java/com/hippo/nimingban/ui/RecordActivity.java b/app/src/main/java/com/hippo/nimingban/ui/RecordActivity.java index 81fee08d..ce55dae2 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/RecordActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/RecordActivity.java @@ -77,12 +77,12 @@ public final class RecordActivity extends TranslucentActivity @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @SuppressWarnings("deprecation") diff --git a/app/src/main/java/com/hippo/nimingban/ui/SearchActivity.java b/app/src/main/java/com/hippo/nimingban/ui/SearchActivity.java index d8433024..49259507 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/SearchActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/SearchActivity.java @@ -67,12 +67,12 @@ public class SearchActivity extends TranslucentActivity implements EasyRecyclerV @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } // false for error diff --git a/app/src/main/java/com/hippo/nimingban/ui/SortForumsActivity.java b/app/src/main/java/com/hippo/nimingban/ui/SortForumsActivity.java index 7f8398ea..84fcd1fc 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/SortForumsActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/SortForumsActivity.java @@ -105,12 +105,12 @@ private boolean handlerIntent(Intent intent) { @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @Override diff --git a/app/src/main/java/com/hippo/nimingban/ui/TranslucentHelper.java b/app/src/main/java/com/hippo/nimingban/ui/TranslucentHelper.java index 53cbb14b..2fd86023 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/TranslucentHelper.java +++ b/app/src/main/java/com/hippo/nimingban/ui/TranslucentHelper.java @@ -29,6 +29,8 @@ public class TranslucentHelper { + private static final boolean VALID = Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT; + private int mStatusBarColor = Color.BLACK; private int mNavigationBarColor = Color.BLACK; @@ -37,65 +39,57 @@ public class TranslucentHelper { private TranslucentLayout mTranslucentLayout; - /** - * windowTranslucentStatus make status bar translucent, so the status bar background looks draker. - * Lighter color is needed for status bar. - * It work fine in AOSP. - */ - public static int getColorForTranslucent(int color) { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - return Color.argb( - Color.alpha(color), - Math.min(Color.red(color) * 5 / 3, 0xff), - Math.min(Color.green(color) * 5 / 3, 0xff), - Math.min(Color.blue(color) * 5 / 3, 0xff)); - } else { - return color; - } - } - public void handleContentView(Activity activity) { - ViewGroup decor = (ViewGroup) activity.getWindow().getDecorView(); - ViewGroup decorChild = (ViewGroup) decor.getChildAt(0); - decor.removeView(decorChild); - mTranslucentLayout = new TranslucentLayout(activity); - mTranslucentLayout.setShowStatusBar(mShowStatusBar); - mTranslucentLayout.setShowNavigationBar(mShowNavigationBar); - mTranslucentLayout.setStatusBarColor(mStatusBarColor); - mTranslucentLayout.setNavigationBarColor(mNavigationBarColor); - mTranslucentLayout.addView(decorChild); - decor.addView(mTranslucentLayout); + if (VALID) { + ViewGroup decor = (ViewGroup) activity.getWindow().getDecorView(); + ViewGroup decorChild = (ViewGroup) decor.getChildAt(0); + decor.removeView(decorChild); + mTranslucentLayout = new TranslucentLayout(activity); + mTranslucentLayout.setShowStatusBar(mShowStatusBar); + mTranslucentLayout.setShowNavigationBar(mShowNavigationBar); + mTranslucentLayout.setStatusBarColor(mStatusBarColor); + mTranslucentLayout.setNavigationBarColor(mNavigationBarColor); + mTranslucentLayout.addView(decorChild); + decor.addView(mTranslucentLayout); + } } public void setStatusBarColor(int color) { - mStatusBarColor = getColorForTranslucent(color); - if (mTranslucentLayout != null) { - mTranslucentLayout.setStatusBarColor(color); + if (VALID) { + mStatusBarColor = color; + if (mTranslucentLayout != null) { + mTranslucentLayout.setStatusBarColor(color); + } } } public void setNavigationBarColor(int color) { - mNavigationBarColor = getColorForTranslucent(color); - if (mTranslucentLayout != null) { - mTranslucentLayout.setNavigationBarColor(color); + if (VALID) { + mNavigationBarColor = color; + if (mTranslucentLayout != null) { + mTranslucentLayout.setNavigationBarColor(color); + } } } public void setShowStatusBar(boolean showStatusBar) { - mShowStatusBar = showStatusBar; - if (mTranslucentLayout != null) { - mTranslucentLayout.setShowStatusBar(showStatusBar); + if (VALID) { + mShowStatusBar = showStatusBar; + if (mTranslucentLayout != null) { + mTranslucentLayout.setShowStatusBar(showStatusBar); + } } } public void setShowNavigationBar(boolean showNavigationBar) { - mShowNavigationBar = showNavigationBar; - if (mTranslucentLayout != null) { - mTranslucentLayout.setShowNavigationBar(showNavigationBar); + if (VALID) { + mShowNavigationBar = showNavigationBar; + if (mTranslucentLayout != null) { + mTranslucentLayout.setShowNavigationBar(showNavigationBar); + } } } - private static class TranslucentLayout extends ViewGroup { private Paint mStatusBarPaint; diff --git a/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java b/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java index 40ae75b8..f1ed01f5 100644 --- a/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java +++ b/app/src/main/java/com/hippo/nimingban/ui/TypeSendActivity.java @@ -212,12 +212,12 @@ private boolean handlerIntent(Intent intent) { @Override protected int getLightThemeResId() { - return R.style.AppTheme_NoActionBar_Translucent; + return R.style.NormalActivity; } @Override protected int getDarkThemeResId() { - return R.style.AppTheme_Dark_NoActionBar_Translucent; + return R.style.NormalActivity_Dark; } @SuppressWarnings("deprecation") diff --git a/app/src/main/res/values-v19/themes.xml b/app/src/main/res/values-v19/themes.xml index b514ae10..b5c11acf 100644 --- a/app/src/main/res/values-v19/themes.xml +++ b/app/src/main/res/values-v19/themes.xml @@ -25,6 +25,16 @@ false + + + + + + + + + + + + + diff --git a/app/src/main/res/values-v21/themes.xml b/app/src/main/res/values-v21/themes.xml new file mode 100644 index 00000000..2c7dfa4b --- /dev/null +++ b/app/src/main/res/values-v21/themes.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 40646519..67f59260 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -63,6 +63,12 @@ true + + @@ -75,6 +81,15 @@ true + + + + + + + + @@ -135,4 +156,13 @@ @android:color/transparent + + + + + +