diff --git a/app/build.gradle b/app/build.gradle
index 202bc3f..0e51736 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId "com.github.axet.audiorecorder"
minSdkVersion 16
targetSdkVersion 23
- versionCode 56
- versionName "1.1.35"
+ versionCode 57
+ versionName "git"
}
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 03082ce..8fbbd75 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
@@ -1,6 +1,7 @@
package com.github.axet.audiorecorder.activities;
import android.Manifest;
+import android.app.ActionBar;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
@@ -8,6 +9,9 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
@@ -35,6 +39,7 @@ import android.widget.TextView;
import android.widget.Toast;
import com.github.axet.androidlibrary.widgets.OpenFileDialog;
+import com.github.axet.androidlibrary.widgets.ThemeUtils;
import com.github.axet.audiorecorder.R;
import com.github.axet.audiorecorder.animations.RecordingAnimation;
import com.github.axet.androidlibrary.animations.RemoveItemAnimation;
@@ -437,7 +442,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setTheme(((MainApplication) getApplication()).getMainTheme());
+ setTheme(MainApplication.getTheme(this, R.style.AppThemeLight_NoActionBar, R.style.AppThemeDark_NoActionBar));
setContentView(R.layout.activity_main);
@@ -449,6 +454,7 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
handler = new Handler();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
+ toolbar.setBackground(new ColorDrawable(MainApplication.getActionbarColor(this)));
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
@@ -503,8 +509,8 @@ public class MainActivity extends AppCompatActivity implements AbsListView.OnScr
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
- Intent intent = new Intent(this, SettingsActivity.class);
- startActivity(intent);
+ finish();
+ startActivity(new Intent(this, SettingsActivity.class));
return true;
}
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 1670e24..716f717 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
@@ -11,6 +11,7 @@ import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.Point;
+import android.graphics.drawable.ColorDrawable;
import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.AudioTrack;
@@ -21,6 +22,7 @@ import android.os.Handler;
import android.preference.PreferenceManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
+import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
@@ -152,6 +154,8 @@ public class RecordingActivity extends AppCompatActivity {
setContentView(R.layout.activity_recording);
+ setupActionBar();
+
pitch = (PitchView) findViewById(R.id.recording_pitch);
time = (TextView) findViewById(R.id.recording_time);
state = (TextView) findViewById(R.id.recording_state);
@@ -248,6 +252,13 @@ public class RecordingActivity extends AppCompatActivity {
registerReceiver(receiver, filter);
}
+ private void setupActionBar() {
+ ActionBar actionBar = getSupportActionBar();
+ if (actionBar != null) {
+ actionBar.setBackgroundDrawable(new ColorDrawable(MainApplication.getActionbarColor(this)));
+ }
+ }
+
void loadSamples() {
if (!storage.getTempRecording().exists()) {
updateSamples(0);
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 4fa81ae..46a7c54 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
@@ -9,6 +9,7 @@ import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
+import android.graphics.drawable.ColorDrawable;
import android.media.Ringtone;
import android.media.RingtoneManager;
import android.net.Uri;
@@ -22,11 +23,14 @@ import android.preference.PreferenceManager;
import android.preference.RingtonePreference;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
+import android.support.v4.content.IntentCompat;
import android.support.v7.app.ActionBar;
+import android.util.Log;
import android.view.MenuItem;
import android.widget.ListView;
import android.widget.Toast;
+import com.github.axet.androidlibrary.widgets.ThemeUtils;
import com.github.axet.audiorecorder.R;
import com.github.axet.audiorecorder.app.MainApplication;
@@ -139,6 +143,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha
if (actionBar != null) {
// Show the Up button in the action bar.
actionBar.setDisplayHomeAsUpEnabled(true);
+ actionBar.setBackgroundDrawable(new ColorDrawable(MainApplication.getActionbarColor(this)));
}
}
@@ -163,6 +168,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));
return true;
}
@@ -203,7 +209,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
- if(key.equals(MainApplication.PREFERENCE_THEME)) {
+ if (key.equals(MainApplication.PREFERENCE_THEME)) {
finish();
startActivity(new Intent(this, SettingsActivity.class));
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
@@ -218,6 +224,12 @@ public class SettingsActivity extends AppCompatPreferenceActivity implements Sha
shared.unregisterOnSharedPreferenceChangeListener(this);
}
+ @Override
+ public void onBackPressed() {
+ finish();
+ startActivity(new Intent(this, MainActivity.class));
+ }
+
/**
* This fragment shows general preferences only. It is used when the
* activity is showing a two-pane settings UI.
@@ -256,6 +268,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));
return true;
}
diff --git a/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java b/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java
index 5e1e7b6..8b86d81 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/app/MainApplication.java
@@ -30,24 +30,24 @@ public class MainApplication extends Application {
context.setTheme(getUserTheme());
}
- public int getUserTheme() {
- final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(this);
- String theme = shared.getString(MainApplication.PREFERENCE_THEME, "");
+ public static int getTheme(Context context, int light, int dark) {
+ final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(context);
+ String theme = shared.getString(PREFERENCE_THEME, "");
if (theme.equals("Theme_Dark")) {
- return R.style.AppThemeDark;
+ return dark;
} else {
- return R.style.AppThemeLight;
+ return light;
}
}
- public int getMainTheme() {
- final SharedPreferences shared = PreferenceManager.getDefaultSharedPreferences(this);
- String theme = shared.getString(MainApplication.PREFERENCE_THEME, "");
- if (theme.equals("Theme_Dark")) {
- return R.style.AppThemeDark_NoActionBar;
- } else {
- return R.style.AppThemeLight_NoActionBar;
- }
+ public static int getActionbarColor(Context context) {
+ int colorId = MainApplication.getTheme(context, android.R.attr.colorPrimary, R.attr.secondBackground);
+ int color = ThemeUtils.getThemeColor(context, colorId);
+ return color;
+ }
+
+ public int getUserTheme() {
+ return getTheme(this, R.style.AppThemeLight, R.style.AppThemeDark);
}
static public String formatTime(int tt) {
diff --git a/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java b/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java
index b05f623..1bebc8e 100644
--- a/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java
+++ b/app/src/main/java/com/github/axet/audiorecorder/services/RecordingService.java
@@ -138,25 +138,15 @@ public class RecordingService extends Service {
new Intent(this, RecordingService.class).setAction(PAUSE_BUTTON),
PendingIntent.FLAG_UPDATE_CURRENT);
- RemoteViews view = new RemoteViews(getPackageName(), R.layout.notifictaion_recording);
+ RemoteViews view = new RemoteViews(getPackageName(), MainApplication.getTheme(getBaseContext(),
+ R.layout.notifictaion_recording_light,
+ R.layout.notifictaion_recording_dark));
+
view.setOnClickPendingIntent(R.id.status_bar_latest_event_content, main);
view.setTextViewText(R.id.notification_text, ".../" + targetFile);
view.setOnClickPendingIntent(R.id.notification_pause, pe);
view.setImageViewResource(R.id.notification_pause, !recording ? R.drawable.play : R.drawable.pause);
- getBaseContext().setTheme(((MainApplication) getApplication()).getUserTheme());
-
- view.apply(new ContextWrapper(getBaseContext()) {
- public Context createPackageContext(String packageName, int flags) throws PackageManager.NameNotFoundException {
- return new ContextWrapper(getBaseContext().createPackageContext(packageName, flags)) {
- @Override
- public Resources.Theme getTheme() {
- return getBaseContext().getTheme();
- }
- };
- }
- }, null);
-
NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
.setOngoing(true)
.setContentTitle("Recording")
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index e6f67ec..345dd4b 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -16,7 +16,6 @@
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
- android:background="?attr/colorPrimary"
app:popupTheme="@style/AppThemeLight.PopupOverlay" />
diff --git a/app/src/main/res/layout/notifictaion_recording_dark.xml b/app/src/main/res/layout/notifictaion_recording_dark.xml
new file mode 100644
index 0000000..e573589
--- /dev/null
+++ b/app/src/main/res/layout/notifictaion_recording_dark.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/notifictaion_recording_light.xml b/app/src/main/res/layout/notifictaion_recording_light.xml
new file mode 100644
index 0000000..1a71872
--- /dev/null
+++ b/app/src/main/res/layout/notifictaion_recording_light.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
diff --git a/app/src/main/res/layout/recording.xml b/app/src/main/res/layout/recording.xml
index 461335b..73225fd 100644
--- a/app/src/main/res/layout/recording.xml
+++ b/app/src/main/res/layout/recording.xml
@@ -70,8 +70,8 @@
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
- android:orientation="vertical"
android:background="?attr/secondBackground"
+ android:orientation="vertical"
android:padding="5dp">
+ android:text="01:01"
+ android:textColor="?android:textColorSecondary" />
#3F51B5
#303F9F
+ #33333333
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index e798d0b..8b03c3d 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -20,7 +20,7 @@
- @color/colorPrimary
- @color/colorPrimaryDark
- #a4a4a4
- - #5a595b
+ - #151515