Merge branch 'git'

This commit is contained in:
Alexey Kuznetsov 2016-04-03 13:52:02 +03:00
commit a2cdf5fbfe
12 changed files with 74 additions and 38 deletions

View file

@ -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 {

View file

@ -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;
}

View file

@ -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);

View file

@ -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;
}

View file

@ -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) {

View file

@ -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")

View file

@ -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" />
</android.support.design.widget.AppBarLayout>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/AppThemeDark">
<include layout="@layout/notifictaion_recording" />
</FrameLayout>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/AppThemeLight">
<include layout="@layout/notifictaion_recording" />
</FrameLayout>

View file

@ -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">
<LinearLayout
@ -81,11 +81,11 @@
android:orientation="horizontal">
<TextView
android:textColor="?android:textColorSecondary"
android:id="@+id/recording_player_start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="01:01" />
android:text="01:01"
android:textColor="?android:textColorSecondary" />
<SeekBar
android:id="@+id/recording_player_seek"

View file

@ -2,4 +2,5 @@
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="secondBackground">#33333333</color>
</resources>

View file

@ -20,7 +20,7 @@
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">#a4a4a4</item>
<item name="secondBackground">#5a595b</item>
<item name="secondBackground">#151515</item>
</style>
<style name="AppThemeDark.NoActionBar">