From 8a1d6be01fc08e50d4fed1c9a9be7bd32a5dc00b Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Wed, 31 Jan 2018 19:15:09 +0300 Subject: [PATCH] update theme activities --- app/build.gradle | 2 +- .../activities/MainActivity.java | 22 +++++-------------- .../activities/SettingsActivity.java | 14 ++++++++---- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index da8adb1..7007ca1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -55,5 +55,5 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' - compile 'com.github.axet:android-audio-library:1.0.80' // compile project(':android-audio-library') + compile 'com.github.axet:android-audio-library:1.0.81' // compile project(':android-audio-library') } diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java index 4d6db81..8f18a3e 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/MainActivity.java @@ -28,6 +28,7 @@ import android.widget.Toast; import com.github.axet.androidlibrary.services.StorageProvider; import com.github.axet.androidlibrary.widgets.AboutPreferenceCompat; +import com.github.axet.androidlibrary.widgets.AppCompatThemeActivity; import com.github.axet.androidlibrary.widgets.SearchView; import com.github.axet.audiolibrary.app.Recordings; import com.github.axet.audiolibrary.app.Storage; @@ -35,7 +36,7 @@ import com.github.axet.audiorecorder.R; import com.github.axet.audiorecorder.app.MainApplication; import com.github.axet.audiorecorder.services.RecordingService; -public class MainActivity extends AppCompatActivity { +public class MainActivity extends AppCompatThemeActivity { public final static String TAG = MainActivity.class.getSimpleName(); FloatingActionButton fab; @@ -47,8 +48,6 @@ public class MainActivity extends AppCompatActivity { View progressEmpty; View progressText; - int themeId; - BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { @@ -66,18 +65,13 @@ public class MainActivity extends AppCompatActivity { context.startActivity(i); } - public void setAppTheme(int id) { - super.setTheme(id); - themeId = id; - } - - public static int getAppTheme(Context context) { - return MainApplication.getTheme(context, R.style.AppThemeLight_NoActionBar, R.style.AppThemeDark_NoActionBar); + @Override + public int getAppTheme() { + return MainApplication.getTheme(this, R.style.AppThemeLight_NoActionBar, R.style.AppThemeDark_NoActionBar); } @Override protected void onCreate(Bundle savedInstanceState) { - setAppTheme(getAppTheme(this)); super.onCreate(savedInstanceState); getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | @@ -196,12 +190,6 @@ public class MainActivity extends AppCompatActivity { super.onResume(); Log.d(TAG, "onResume"); - if (themeId != getAppTheme(this)) { - finish(); - MainActivity.startActivity(this); - return; - } - invalidateOptionsMenu(); // update storage folder intent try { diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java index 499fe27..b0f0809 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/SettingsActivity.java @@ -26,6 +26,7 @@ import android.view.MenuItem; import android.widget.ProgressBar; import android.widget.Toast; +import com.github.axet.androidlibrary.widgets.AppCompatSettingsThemeActivity; import com.github.axet.androidlibrary.widgets.NameFormatPreferenceCompat; import com.github.axet.androidlibrary.widgets.OpenFileDialog; import com.github.axet.androidlibrary.widgets.SilencePreferenceCompat; @@ -53,7 +54,7 @@ import java.util.List; * href="http://developer.android.com/guide/topics/ui/settings.html">Settings * API Guide for more information on developing a Settings UI. */ -public class SettingsActivity extends AppCompatActivity implements SharedPreferences.OnSharedPreferenceChangeListener, PreferenceFragmentCompat.OnPreferenceDisplayDialogCallback { +public class SettingsActivity extends AppCompatSettingsThemeActivity implements SharedPreferences.OnSharedPreferenceChangeListener, PreferenceFragmentCompat.OnPreferenceDisplayDialogCallback { public static final int RESULT_STORAGE = 1; @@ -129,13 +130,18 @@ public class SettingsActivity extends AppCompatActivity implements SharedPrefere .getString(preference.getKey(), "")); } - public static int getAppTheme(Context context) { - return MainApplication.getTheme(context, R.style.AppThemeLight, R.style.AppThemeDark); + @Override + public int getAppTheme() { + return MainApplication.getTheme(this, R.style.AppThemeLight, R.style.AppThemeDark); + } + + @Override + public String getAppThemeKey() { + return MainApplication.PREFERENCE_THEME; } @Override protected void onCreate(Bundle savedInstanceState) { - setTheme(getAppTheme(this)); super.onCreate(savedInstanceState); setupActionBar();