diff --git a/app/build.gradle b/app/build.gradle index ae3d3494..750d7f08 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,13 +1,13 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 21 + compileSdkVersion 22 buildToolsVersion '25.0.0' defaultConfig { applicationId "com.danielkim.soundrecorder" minSdkVersion 16 - targetSdkVersion 21 + targetSdkVersion 22 versionCode 130 versionName "1.3.0" } @@ -23,9 +23,9 @@ android { } dependencies { - compile 'com.android.support:appcompat-v7:21.0.+' + compile 'com.android.support:appcompat-v7:22.2.1' + compile 'com.android.support:design:22.2.1' compile 'com.android.support:cardview-v7:21.0.+' - compile 'com.android.support:recyclerview-v7:21.0.+' - compile 'com.melnykov:floatingactionbutton:1.1.0' + compile 'com.android.support:recyclerview-v7:22.1.0' compile 'com.jpardogo.materialtabstrip:library:1.0.6' } diff --git a/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java b/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java index a2e6bde7..8daf3525 100644 --- a/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java +++ b/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java @@ -1,14 +1,12 @@ package com.danielkim.soundrecorder.activities; import android.content.Intent; -import android.content.SharedPreferences; import android.os.Bundle; -import android.preference.PreferenceManager; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; -import android.support.v7.app.ActionBarActivity; +import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; @@ -16,11 +14,10 @@ import com.astuetz.PagerSlidingTabStrip; import com.danielkim.soundrecorder.R; import com.danielkim.soundrecorder.fragments.FileViewerFragment; -import com.danielkim.soundrecorder.fragments.LicensesFragment; import com.danielkim.soundrecorder.fragments.RecordFragment; -public class MainActivity extends ActionBarActivity{ +public class MainActivity extends AppCompatActivity { private static final String LOG_TAG = MainActivity.class.getSimpleName(); diff --git a/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java b/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java index 09f12135..1184fed4 100644 --- a/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java +++ b/app/src/main/java/com/danielkim/soundrecorder/fragments/PlaybackFragment.java @@ -8,6 +8,7 @@ import android.os.Bundle; import android.os.Handler; import android.support.annotation.NonNull; +import android.support.design.widget.FloatingActionButton; import android.support.v4.app.DialogFragment; import android.util.Log; import android.view.View; @@ -18,7 +19,6 @@ import com.danielkim.soundrecorder.R; import com.danielkim.soundrecorder.RecordingItem; -import com.melnykov.fab.FloatingActionButton; import java.io.IOException; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/com/danielkim/soundrecorder/fragments/RecordFragment.java b/app/src/main/java/com/danielkim/soundrecorder/fragments/RecordFragment.java index 151822c0..14f2cb9d 100644 --- a/app/src/main/java/com/danielkim/soundrecorder/fragments/RecordFragment.java +++ b/app/src/main/java/com/danielkim/soundrecorder/fragments/RecordFragment.java @@ -4,19 +4,18 @@ import android.os.Bundle; import android.os.Environment; import android.os.SystemClock; +import android.support.design.widget.FloatingActionButton; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; -import android.widget.Button; import android.widget.Chronometer; import android.widget.TextView; import android.widget.Toast; import com.danielkim.soundrecorder.R; import com.danielkim.soundrecorder.RecordingService; -import com.melnykov.fab.FloatingActionButton; import java.io.File; @@ -36,7 +35,7 @@ public class RecordFragment extends Fragment { //Recording controls private FloatingActionButton mRecordButton = null; - private Button mPauseButton = null; + private FloatingActionButton mPauseButton = null; private TextView mRecordingPrompt; private int mRecordPromptCount = 0; @@ -81,8 +80,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, mRecordingPrompt = (TextView) recordView.findViewById(R.id.recording_status_text); mRecordButton = (FloatingActionButton) recordView.findViewById(R.id.btnRecord); - mRecordButton.setColorNormal(getResources().getColor(R.color.primary)); - mRecordButton.setColorPressed(getResources().getColor(R.color.primary_dark)); mRecordButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -91,7 +88,7 @@ public void onClick(View v) { } }); - mPauseButton = (Button) recordView.findViewById(R.id.btnPause); + mPauseButton = (FloatingActionButton) recordView.findViewById(R.id.btnPause); mPauseButton.setVisibility(View.GONE); //hide pause button before recording starts mPauseButton.setOnClickListener(new View.OnClickListener() { @Override @@ -105,7 +102,6 @@ public void onClick(View v) { } // Recording Start/Stop - //TODO: recording pause private void onRecord(boolean start){ Intent intent = new Intent(getActivity(), RecordingService.class); @@ -113,7 +109,7 @@ private void onRecord(boolean start){ if (start) { // start recording mRecordButton.setImageResource(R.drawable.ic_media_stop); - //mPauseButton.setVisibility(View.VISIBLE); + mPauseButton.setVisibility(View.VISIBLE); Toast.makeText(getActivity(),R.string.toast_recording_start,Toast.LENGTH_SHORT).show(); File folder = new File(Environment.getExternalStorageDirectory() + "/SoundRecorder"); if (!folder.exists()) { @@ -144,14 +140,16 @@ public void onChronometerTick(Chronometer chronometer) { getActivity().startService(intent); //keep screen on while recording getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); - mRecordingPrompt.setText(getString(R.string.record_in_progress) + "."); mRecordPromptCount++; } else { //stop recording mRecordButton.setImageResource(R.drawable.ic_mic_white_36dp); - //mPauseButton.setVisibility(View.GONE); + + mPauseButton.setVisibility(View.GONE); + mPauseRecording = true; + onPauseRecord(!mPauseRecording); mChronometer.stop(); mChronometer.setBase(SystemClock.elapsedRealtime()); timeWhenPaused = 0; @@ -163,22 +161,22 @@ public void onChronometerTick(Chronometer chronometer) { } } - //TODO: implement pause recording + private void onPauseRecord(boolean pause) { if (pause) { //pause recording - mPauseButton.setCompoundDrawablesWithIntrinsicBounds - (R.drawable.ic_media_play ,0 ,0 ,0); + mPauseButton.setImageResource(R.drawable.ic_media_play); mRecordingPrompt.setText((String)getString(R.string.resume_recording_button).toUpperCase()); timeWhenPaused = mChronometer.getBase() - SystemClock.elapsedRealtime(); mChronometer.stop(); } else { //resume recording - mPauseButton.setCompoundDrawablesWithIntrinsicBounds - (R.drawable.ic_media_pause ,0 ,0 ,0); + mPauseButton.setImageResource(R.drawable.ic_media_pause);; mRecordingPrompt.setText((String)getString(R.string.pause_recording_button).toUpperCase()); mChronometer.setBase(SystemClock.elapsedRealtime() + timeWhenPaused); mChronometer.start(); } } -} \ No newline at end of file + + +} diff --git a/app/src/main/res/layout/fragment_media_playback.xml b/app/src/main/res/layout/fragment_media_playback.xml index f1a82d7e..dab847e7 100644 --- a/app/src/main/res/layout/fragment_media_playback.xml +++ b/app/src/main/res/layout/fragment_media_playback.xml @@ -1,6 +1,5 @@ - + android:backgroundTint="@color/primary"/> - \ No newline at end of file + diff --git a/app/src/main/res/layout/fragment_record.xml b/app/src/main/res/layout/fragment_record.xml index f5f774bb..5765e53f 100644 --- a/app/src/main/res/layout/fragment_record.xml +++ b/app/src/main/res/layout/fragment_record.xml @@ -1,20 +1,42 @@ - + android:gravity="center_horizontal" + android:orientation="horizontal"> + + + + + + + + + + -