diff --git a/app/build.gradle b/app/build.gradle index 41f5cd0..f9f1aa9 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "com.github.axet.audiorecorder" minSdkVersion 16 targetSdkVersion 23 - versionCode 59 - versionName "1.1.37" + versionCode 60 + versionName "1.1.38" } signingConfigs { release { 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 8fbbd75..55729a6 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 @@ -81,6 +81,8 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr Handler handler; PopupShareActionProvider shareProvider; + int themeId; + public static void startActivity(Context context) { Intent i = new Intent(context, MainActivity.class); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); @@ -112,6 +114,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr } public void scan(File dir) { + setNotifyOnChange(false); clear(); durations.clear(); @@ -132,6 +135,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr } sort(new SortFiles()); + notifyDataSetChanged(); } public void close() { @@ -438,11 +442,21 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr } } + public void setAppTheme(int id) { + super.setTheme(id); + + themeId = id; + } + + int getAppTheme() { + return MainApplication.getTheme(this, R.style.AppThemeLight_NoActionBar, R.style.AppThemeDark_NoActionBar); + } + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setTheme(MainApplication.getTheme(this, R.style.AppThemeLight_NoActionBar, R.style.AppThemeDark_NoActionBar)); + setAppTheme(getAppTheme()); setContentView(R.layout.activity_main); @@ -509,7 +523,6 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { - finish(); startActivity(new Intent(this, SettingsActivity.class)); return true; } @@ -533,6 +546,12 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr super.onResume(); Log.d(TAG, "onResume"); + if (themeId != getAppTheme()) { + finish(); + MainActivity.startActivity(this); + return; + } + if (permitted(PERMISSIONS)) load(); else diff --git a/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java b/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java index 716f717..4aa6efc 100644 --- a/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java +++ b/app/src/main/java/com/github/axet/audiorecorder/activities/RecordingActivity.java @@ -109,7 +109,7 @@ public class RecordingActivity extends AppCompatActivity { context.startActivity(i); } - public class RecordingReceiver extends BroadcastReceiver { + class RecordingReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(PAUSE_BUTTON)) { @@ -500,7 +500,9 @@ public class RecordingActivity extends AppCompatActivity { cancelDialog(new Runnable() { @Override public void run() { - RecordingActivity.super.onBackPressed(); + stopRecording(); + storage.delete(storage.getTempRecording()); + finish(); } }); } @@ -818,6 +820,7 @@ public class RecordingActivity extends AppCompatActivity { @Override public void finish() { super.finish(); + MainActivity.startActivity(this); } } 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 46a7c54..2271fdf 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 @@ -48,6 +48,7 @@ import java.util.List; * API Guide for more information on developing a Settings UI. */ public class SettingsActivity extends AppCompatPreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener { + /** * A preference value change listener that updates the preference's summary * to reflect its new value. @@ -168,8 +169,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { - finish(); - startActivity(new Intent(this, MainActivity.class)); + onBackPressed(); return true; } return super.onOptionsItemSelected(item); @@ -226,8 +226,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha @Override public void onBackPressed() { - finish(); - startActivity(new Intent(this, MainActivity.class)); + super.onBackPressed(); } /** @@ -268,8 +267,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { - getActivity().finish(); - startActivity(new Intent(getActivity(), MainActivity.class)); + getActivity().onBackPressed(); return true; } return super.onOptionsItemSelected(item);