do not enable translucent statusbar in fullscreen mode

This commit is contained in:
Andrew Dolgov 2014-10-17 09:59:03 +04:00
parent 2af8bc98c8
commit 4b3caa2d0b
8 changed files with 29 additions and 43 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.fox.ttrss"
android:versionCode="239"
android:versionCode="240"
android:versionName="1.41" >
<uses-sdk

View File

@ -25,6 +25,7 @@ import android.util.Log;
import android.util.TypedValue;
import android.view.Display;
import android.view.View;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
@ -50,6 +51,7 @@ public class CommonActivity extends ActionBarActivity {
private boolean m_smallScreenMode = true;
private boolean m_compatMode = false;
private String m_theme;
private boolean m_fullScreen;
protected SharedPreferences m_prefs;
@ -122,7 +124,9 @@ public class CommonActivity extends ActionBarActivity {
public void onResume() {
super.onResume();
if (!m_theme.equals(m_prefs.getString("theme", CommonActivity.THEME_DEFAULT))) {
if (!m_theme.equals(m_prefs.getString("theme", CommonActivity.THEME_DEFAULT)) ||
m_fullScreen != m_prefs.getBoolean("full_screen_mode", false)) {
Log.d(TAG, "theme changed, restarting");
finish();
@ -145,8 +149,10 @@ public class CommonActivity extends ActionBarActivity {
if (savedInstanceState != null) {
m_theme = savedInstanceState.getString("theme");
m_fullScreen = savedInstanceState.getBoolean("fullscreen");
} else {
m_theme = m_prefs.getString("theme", CommonActivity.THEME_DEFAULT);
m_fullScreen = m_prefs.getBoolean("full_screen_mode", false);
}
initDatabase();
@ -159,13 +165,16 @@ public class CommonActivity extends ActionBarActivity {
}
public void setStatusBarTint() {
if (android.os.Build.VERSION.SDK_INT == android.os.Build.VERSION_CODES.KITKAT) {
if (android.os.Build.VERSION.SDK_INT == android.os.Build.VERSION_CODES.KITKAT &&
!m_prefs.getBoolean("full_screen_mode", false)) {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
SystemBarTintManager tintManager = new SystemBarTintManager(this);
// enable status bar tint
tintManager.setStatusBarTintEnabled(true);
// enable navigation bar tint
tintManager.setNavigationBarTintEnabled(true);
TypedValue tv = new TypedValue();
getTheme().resolveAttribute(R.attr.statusBarHintColor, tv, true);
@ -178,6 +187,7 @@ public class CommonActivity extends ActionBarActivity {
super.onSaveInstanceState(out);
out.putString("theme", m_theme);
out.putBoolean("fullscreen", m_fullScreen);
}
public boolean isSmallScreen() {

View File

@ -56,9 +56,8 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
setContentView(R.layout.headlines);
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null &&
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null &&
findViewById(R.id.sw600dp_port_anchor) == null);
GlobalState.getInstance().load(savedInstanceState);

View File

@ -33,9 +33,9 @@ public class HeadlinesActivity extends OnlineActivity implements HeadlinesEventL
setContentView(R.layout.headlines_articles);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null);
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null);
GlobalState.getInstance().load(savedInstanceState);

View File

@ -172,8 +172,8 @@ public class OnlineActivity extends CommonActivity {
Log.d(TAG, "m_isOffline=" + isOffline);
setContentView(R.layout.login);
setStatusBarTint();
setStatusBarTint();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).build();
ImageLoader.getInstance().init(config);

View File

@ -40,9 +40,9 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
super.onCreate(savedInstanceState);
setContentView(R.layout.headlines);
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null &&
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null &&
findViewById(R.id.sw600dp_port_anchor) == null);
GlobalState.getInstance().load(savedInstanceState);

View File

@ -35,9 +35,9 @@ public class OfflineHeadlinesActivity extends OfflineActivity implements Offline
setContentView(R.layout.headlines_articles);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null);
setStatusBarTint();
setSmallScreen(findViewById(R.id.sw600dp_anchor) == null);
if (isPortrait() || m_prefs.getBoolean("headlines_hide_sidebar", false)) {
findViewById(R.id.headlines_fragment).setVisibility(View.GONE);

View File

@ -1,23 +0,0 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="LightTheme" parent="LightThemeBase">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">false</item>
</style>
<style name="SepiaTheme" parent="SepiaThemeBase">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">false</item>
</style>
<style name="HoloTheme" parent="HoloThemeBase">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">false</item>
</style>
<style name="DarkTheme" parent="DarkThemeBase">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">false</item>
</style>
</resources>