improving theme
This commit is contained in:
parent
a998e690ab
commit
88cc7a8cce
|
@ -277,7 +277,7 @@
|
|||
android:label="@string/set_color"
|
||||
android:theme="@style/Theme.Twidere.Light.NoDisplay"/>
|
||||
<activity
|
||||
android:theme="@style/Theme.Twidere.Light.DialogWhenLarge"
|
||||
android:theme="@style/Theme.Twidere.Dark.DialogWhenLarge"
|
||||
android:name=".activity.support.LinkHandlerActivity"
|
||||
android:windowSoftInputMode="adjustResize">
|
||||
<meta-data
|
||||
|
|
|
@ -19,11 +19,8 @@
|
|||
|
||||
package org.mariotaku.twidere.activity;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceActivity;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.view.Menu;
|
||||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.activity.iface.IThemedActivity;
|
||||
|
@ -37,11 +34,6 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
private int mCurrentThemeResource;
|
||||
private String mCurrentThemeBackgroundOption;
|
||||
|
||||
@Override
|
||||
public boolean onMenuOpened(int featureId, Menu menu) {
|
||||
return super.onMenuOpened(featureId, menu);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCurrentThemeBackgroundAlpha() {
|
||||
return 0;
|
||||
|
@ -57,11 +49,6 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
return mCurrentThemeResource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getDefaultResources() {
|
||||
return super.getResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getThemeBackgroundAlpha() {
|
||||
return 0;
|
||||
|
@ -72,7 +59,6 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String getThemeFontFamily() {
|
||||
return VALUE_THEME_FONT_FAMILY_REGULAR;
|
||||
|
@ -83,11 +69,6 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
return ThemeUtils.getSettingsThemeResource(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void navigateUpFromSameTask() {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void restart() {
|
||||
restartActivity(this);
|
||||
|
@ -115,6 +96,7 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
public String getThemeBackgroundOption() {
|
||||
return ThemeUtils.getThemeBackgroundOption(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
@ -123,7 +105,7 @@ public abstract class BasePreferenceActivity extends PreferenceActivity implemen
|
|||
}
|
||||
}
|
||||
|
||||
private final void setActionBarBackground() {
|
||||
private void setActionBarBackground() {
|
||||
// ThemeUtils.applyActionBarBackground(getActionBar(), this,
|
||||
// mCurrentThemeResource);
|
||||
}
|
||||
|
|
|
@ -35,9 +35,10 @@ import static org.mariotaku.twidere.util.Utils.restartActivity;
|
|||
|
||||
public abstract class BaseThemedActivity extends Activity implements IThemedActivity {
|
||||
|
||||
private int mCurrentThemeResource, mCurrentThemeColor, mCurrentThemeBackgroundAlpha;
|
||||
private int mCurrentThemeResource;
|
||||
private int mCurrentThemeColor;
|
||||
private int mCurrentThemeBackgroundAlpha;
|
||||
private String mCurrentThemeFontFamily;
|
||||
private Theme mTheme;
|
||||
private String mCurrentThemeBackgroundOption;
|
||||
|
||||
@Override
|
||||
|
@ -55,11 +56,6 @@ public abstract class BaseThemedActivity extends Activity implements IThemedActi
|
|||
return mCurrentThemeResource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getDefaultResources() {
|
||||
return super.getResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getThemeBackgroundAlpha() {
|
||||
return ThemeUtils.getUserThemeBackgroundAlpha(this);
|
||||
|
@ -76,29 +72,11 @@ public abstract class BaseThemedActivity extends Activity implements IThemedActi
|
|||
@Override
|
||||
public abstract int getThemeResourceId();
|
||||
|
||||
@Override
|
||||
public void navigateUpFromSameTask() {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void restart() {
|
||||
restartActivity(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Theme getTheme() {
|
||||
if (mTheme == null) {
|
||||
mTheme = getResources().newTheme();
|
||||
mTheme.setTo(super.getTheme());
|
||||
final int getThemeResourceId = getThemeResourceId();
|
||||
if (getThemeResourceId != 0) {
|
||||
mTheme.applyStyle(getThemeResourceId, true);
|
||||
}
|
||||
}
|
||||
return mTheme;
|
||||
}
|
||||
|
||||
protected final boolean isThemeChanged() {
|
||||
return getThemeResourceId() != mCurrentThemeResource || getThemeColor() != mCurrentThemeColor
|
||||
|| !CompareUtils.objectEquals(getThemeFontFamily(), mCurrentThemeFontFamily)
|
||||
|
@ -136,6 +114,6 @@ public abstract class BaseThemedActivity extends Activity implements IThemedActi
|
|||
mCurrentThemeBackgroundAlpha = getThemeBackgroundAlpha();
|
||||
mCurrentThemeBackgroundOption = getThemeBackgroundOption();
|
||||
setTheme(mCurrentThemeResource);
|
||||
ThemeUtils.applyWindowBackground(this, getWindow(),mCurrentThemeResource, mCurrentThemeBackgroundOption, mCurrentThemeBackgroundAlpha);
|
||||
ThemeUtils.applyWindowBackground(this, getWindow(), mCurrentThemeResource, mCurrentThemeBackgroundOption, mCurrentThemeBackgroundAlpha);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@ import android.support.annotation.NonNull;
|
|||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.support.v4.view.ViewPager.OnPageChangeListener;
|
||||
import android.support.v4.view.WindowCompat;
|
||||
|
@ -103,7 +104,7 @@ public class FiltersActivity extends BaseActionBarActivity implements TabListene
|
|||
public boolean onOptionsItemSelected(final MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case MENU_HOME: {
|
||||
navigateUpFromSameTask();
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
return true;
|
||||
}
|
||||
case MENU_ADD: {
|
||||
|
|
|
@ -23,28 +23,24 @@ import android.content.res.Resources;
|
|||
|
||||
public interface IThemedActivity {
|
||||
|
||||
public int getCurrentThemeBackgroundAlpha();
|
||||
int getCurrentThemeBackgroundAlpha();
|
||||
|
||||
public String getCurrentThemeBackgroundOption();
|
||||
String getCurrentThemeBackgroundOption();
|
||||
|
||||
public int getCurrentThemeColor();
|
||||
int getCurrentThemeColor();
|
||||
|
||||
public int getCurrentThemeResourceId();
|
||||
int getCurrentThemeResourceId();
|
||||
|
||||
public Resources getDefaultResources();
|
||||
|
||||
public int getThemeBackgroundAlpha();
|
||||
int getThemeBackgroundAlpha();
|
||||
|
||||
String getThemeBackgroundOption();
|
||||
|
||||
public int getThemeColor();
|
||||
int getThemeColor();
|
||||
|
||||
public String getThemeFontFamily();
|
||||
String getThemeFontFamily();
|
||||
|
||||
int getThemeResourceId();
|
||||
|
||||
public void navigateUpFromSameTask();
|
||||
|
||||
public void restart();
|
||||
void restart();
|
||||
|
||||
}
|
||||
|
|
|
@ -25,11 +25,6 @@ public class DataExportActivity extends BaseActionBarActivity implements FileSel
|
|||
|
||||
private ExportSettingsTask mTask;
|
||||
|
||||
@Override
|
||||
public Resources getResources() {
|
||||
return getDefaultResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getThemeResourceId() {
|
||||
return ThemeUtils.getNoDisplayThemeResource(this);
|
||||
|
|
|
@ -24,11 +24,6 @@ public class DataImportActivity extends BaseActionBarActivity implements FileSel
|
|||
private ImportSettingsTask mImportSettingsTask;
|
||||
private OpenImportTypeTask mOpenImportTypeTask;
|
||||
|
||||
@Override
|
||||
public Resources getResources() {
|
||||
return getDefaultResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getThemeResourceId() {
|
||||
return ThemeUtils.getNoDisplayThemeResource(this);
|
||||
|
|
|
@ -29,6 +29,7 @@ import android.os.Bundle;
|
|||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v4.app.NavUtils;
|
||||
import android.support.v4.view.WindowCompat;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
|
@ -114,7 +115,7 @@ public class LinkHandlerActivity extends BaseActionBarActivity implements System
|
|||
if (mFinishOnly) {
|
||||
finish();
|
||||
} else {
|
||||
navigateUpFromSameTask();
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -69,11 +69,6 @@ public abstract class ThemedActionBarActivity extends ActionBarActivity implemen
|
|||
return mCurrentThemeResource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getDefaultResources() {
|
||||
return super.getResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getThemeBackgroundAlpha() {
|
||||
return ThemeUtils.getUserThemeBackgroundAlpha(this);
|
||||
|
@ -89,11 +84,6 @@ public abstract class ThemedActionBarActivity extends ActionBarActivity implemen
|
|||
return ThemeUtils.getThemeFontFamily(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void navigateUpFromSameTask() {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void restart() {
|
||||
restartActivity(this);
|
||||
|
|
|
@ -54,11 +54,6 @@ public abstract class ThemedFragmentActivity extends FragmentActivity implements
|
|||
return mCurrentThemeResource;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Resources getDefaultResources() {
|
||||
return super.getResources();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getThemeBackgroundAlpha() {
|
||||
return ThemeUtils.getUserThemeBackgroundAlpha(this);
|
||||
|
@ -89,11 +84,6 @@ public abstract class ThemedFragmentActivity extends FragmentActivity implements
|
|||
return ThemeUtils.getThemeFontFamily(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void navigateUpFromSameTask() {
|
||||
NavUtils.navigateUpFromSameTask(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final void restart() {
|
||||
restartActivity(this);
|
||||
|
|
|
@ -657,9 +657,6 @@ public class ThemeUtils implements Constants {
|
|||
}
|
||||
|
||||
public static Resources getResources(final Context context) {
|
||||
if (context instanceof IThemedActivity) {
|
||||
return ((IThemedActivity) context).getDefaultResources();
|
||||
}
|
||||
return context.getResources();
|
||||
}
|
||||
|
||||
|
@ -727,11 +724,10 @@ public class ThemeUtils implements Constants {
|
|||
}
|
||||
|
||||
public static int getThemeColor(final Context context) {
|
||||
final Resources res = getResources(context);
|
||||
final Context wrapped = getThemedContext(context, res);
|
||||
final TypedArray a = wrapped.obtainStyledAttributes(new int[]{android.R.attr.colorActivatedHighlight});
|
||||
final TypedArray a = context.obtainStyledAttributes(new int[]{android.R.attr.colorActivatedHighlight});
|
||||
try {
|
||||
return a.getColor(0, res.getColor(R.color.material_light_blue));
|
||||
final Resources resources = context.getResources();
|
||||
return a.getColor(0, resources.getColor(R.color.material_light_blue));
|
||||
} finally {
|
||||
a.recycle();
|
||||
}
|
||||
|
@ -856,10 +852,6 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
|
||||
public static int getUserThemeBackgroundAlpha(final Context context) {
|
||||
if (context instanceof IThemedActivity) {
|
||||
final int alpha = ((IThemedActivity) context).getCurrentThemeBackgroundAlpha();
|
||||
if (alpha >= 0) return alpha;
|
||||
}
|
||||
if (context == null) return DEFAULT_THEME_BACKGROUND_ALPHA;
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
return pref.getInt(KEY_THEME_BACKGROUND_ALPHA, DEFAULT_THEME_BACKGROUND_ALPHA);
|
||||
|
@ -867,8 +859,8 @@ public class ThemeUtils implements Constants {
|
|||
|
||||
public static int getUserAccentColor(final Context context) {
|
||||
if (context == null) return Color.TRANSPARENT;
|
||||
final Resources res = getResources(context);
|
||||
final SharedPreferencesWrapper pref = getSharedPreferencesWrapper(context);
|
||||
final Resources res = context.getResources();
|
||||
final int def = res.getColor(R.color.branding_color);
|
||||
return pref.getInt(KEY_THEME_COLOR, def);
|
||||
}
|
||||
|
@ -941,10 +933,6 @@ public class ThemeUtils implements Constants {
|
|||
}
|
||||
|
||||
public static boolean isTransparentBackground(final Context context) {
|
||||
if (context instanceof IThemedActivity) {
|
||||
final String option = ((IThemedActivity) context).getCurrentThemeBackgroundOption();
|
||||
if (option != null) return isTransparentBackground(option);
|
||||
}
|
||||
return isTransparentBackground(getThemeBackgroundOption(context));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue