Fixes status bar color issue.

This commit is contained in:
Sonu Sourav 2019-02-21 16:38:24 +05:30 committed by Isaac Hutt
parent 27ebe44c13
commit 66aed896b3
8 changed files with 40 additions and 50 deletions

View File

@ -17,10 +17,8 @@
*/
package org.kiwix.kiwixmobile.base;
import android.os.Build;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import androidx.annotation.LayoutRes;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
@ -44,19 +42,21 @@ public abstract class BaseActivity extends AppCompatActivity {
AndroidInjection.inject(this);
super.onCreate(savedInstanceState);
LanguageUtils.handleLocaleChange(this, sharedPreferenceUtil);
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.titleBar));
}
@Override
public Resources.Theme getTheme() {
Resources.Theme theme = super.getTheme();
if (sharedPreferenceUtil.nightMode()) {
setTheme(R.style.AppTheme_Night);
} else {
theme.applyStyle(R.style.StatusBarTheme, true);
}
return theme;
}
@Override
public void setContentView(@LayoutRes int layoutResID) {
if (sharedPreferenceUtil.nightMode()) {
setTheme(R.style.AppTheme_Night);
}
super.setContentView(layoutResID);
unbinder = ButterKnife.bind(this);
}

View File

@ -2,13 +2,10 @@ package org.kiwix.kiwixmobile.bookmark;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.view.ActionMode;
@ -105,13 +102,6 @@ public class BookmarksActivity extends BaseActivity implements BookmarksContract
actionBar.setTitle(R.string.menu_bookmarks);
}
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.titleBar));
}
bookmarksAdapter = new BookmarksAdapter(bookmarksList, deleteList, this);
recyclerView.setAdapter(bookmarksAdapter);
}

View File

@ -2,13 +2,10 @@ package org.kiwix.kiwixmobile.history;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.view.Menu;
import android.view.MenuItem;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.Toast;
import androidx.appcompat.app.ActionBar;
@ -114,12 +111,6 @@ public class HistoryActivity extends BaseActivity implements HistoryContract.Vie
actionBar.setTitle(R.string.history);
}
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.titleBar));
}
historyAdapter = new HistoryAdapter(historyList, deleteList, this);
recyclerView.setAdapter(historyAdapter);

View File

@ -22,7 +22,6 @@ package org.kiwix.kiwixmobile.settings;
import android.app.FragmentManager;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.preference.EditTextPreference;
@ -32,8 +31,6 @@ import android.preference.PreferenceCategory;
import android.preference.PreferenceFragment;
import android.preference.PreferenceScreen;
import android.view.LayoutInflater;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
import android.widget.BaseAdapter;
import android.widget.Toast;
@ -88,13 +85,6 @@ public class KiwixSettingsActivity extends BaseActivity {
.commit();
setUpToolbar();
if (Build.VERSION.SDK_INT >= 21) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(getResources().getColor(R.color.titleBar));
}
}
@Override

View File

@ -33,6 +33,7 @@
android:contentDescription="@string/send_feedback"
android:padding="@dimen/activity_horizontal_margin"
app:layout_constraintTop_toBottomOf="@id/activity_help_appbar"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/ic_feedback_blue_24dp"
/>

View File

@ -4,6 +4,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="?attr/listBackground"
>
<LinearLayout
@ -11,29 +12,27 @@
android:layout_height="match_parent"
android:orientation="vertical"
>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar_layout"
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/activity_settings_appbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay"
app:layout_constraintTop_toTopOf="parent"
>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?actionBarSize"
android:background="?colorPrimaryDark"
android:layout_height="?attr/actionBarSize"
android:theme="@style/AppTheme.AppBarOverlay"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:theme="@style/AppTheme.AppBarOverlay"
/>
</RelativeLayout>
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
android:background="?attr/listBackground"
/>
</LinearLayout>

View File

@ -6,6 +6,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="?attr/listBackground"
tools:context=".zim_manager.ZimManageActivity"
>

View File

@ -31,6 +31,24 @@
<item name="colorControlNormal">@color/accent</item>
</style>
// Defined new theme to fix status bar issue #890
<style name="StatusBarTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimaryDark">@color/titleBar</item>
<item name="colorPrimary">@color/primary</item>
<item name="colorAccent">@color/accent</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="searchViewStyle">@style/SearchViewStyle</item>
<item name="android:textCursorDrawable">@null</item>
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="actionModeBackground">@color/actionModeBackground</item>
<item name="progressBackgroundColor">@color/primary_dark</item>
<item name="listBackground">@drawable/list_bg</item>
<item name="selectedBackground">@drawable/list_bg_light</item>
<item name="android:itemBackground">@color/primary_light</item>
</style>
<style name="AppTheme.Night" parent="AppTheme.Base">
<item name="colorPrimary">@color/primary_night</item>
<item name="colorPrimaryDark">@color/primary_dark_night</item>