Skip to content

Commit 1009bfd

Browse files
committed
Additional modernisation and lint fixes
1 parent 867057f commit 1009bfd

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+201
-563
lines changed

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

MediaPhone/src/main/java/ac/robinson/mediaphone/MediaPhone.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class MediaPhone {
4040
public static final int MAX_AUDIO_ITEMS = 3;
4141

4242
// we can pause/resume recording only in AAC (M4A) formats - get extensions from MediaUtilities
43-
public static String[] EDITABLE_AUDIO_EXTENSIONS;
43+
public static final String[] EDITABLE_AUDIO_EXTENSIONS;
4444

4545
static {
4646
String[] tempExtensions = new String[MediaUtilities.M4A_FILE_EXTENSIONS.length];
@@ -95,7 +95,6 @@ public class MediaPhone {
9595

9696
// in milliseconds: duration of the frame icon fade in; time to wait after finishing scrolling before showing icons
9797
public static int ANIMATION_FADE_TRANSITION_DURATION = 175;
98-
public static int ANIMATION_ICON_SHOW_DELAY = 350;
9998
public static int ANIMATION_ICON_REFRESH_DELAY = 250;
10099
public static int ANIMATION_POPUP_SHOW_DELAY = 250;
101100
public static int ANIMATION_POPUP_HIDE_DELAY = 600;
@@ -113,7 +112,7 @@ public class MediaPhone {
113112

114113
// in milliseconds, the length of time to show an image (if audio is not longer), and the minimum text duration
115114
public static int PLAYBACK_EXPORT_MINIMUM_FRAME_DURATION = 2500;
116-
public static int PLAYBACK_EXPORT_WORD_DURATION = 200;
115+
public static int PLAYBACK_EXPORT_WORD_DURATION = 200; // note: always overridden in MediaPhoneActivity.loadAllPreferences()
117116

118117
// -----------------------------------------------------------------------------------------------------------------
119118
// The following are globals that should eventually be moved to preferences, detected, or overridden at startup

MediaPhone/src/main/java/ac/robinson/mediaphone/MediaPhoneActivity.java

Lines changed: 17 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import android.Manifest;
2424
import android.annotation.SuppressLint;
25-
import android.app.Activity;
2625
import android.app.ActivityManager;
2726
import android.app.Dialog;
2827
import android.app.PendingIntent;
@@ -219,11 +218,6 @@ protected void onPause() {
219218
((MediaPhoneApplication) getApplication()).removeActivityHandle(this);
220219
}
221220

222-
@Override
223-
protected void onDestroy() {
224-
super.onDestroy();
225-
}
226-
227221
@Override
228222
public Object onRetainCustomNonConfigurationInstance() {
229223
// called before screen change - have to remove the parent activity
@@ -247,10 +241,6 @@ protected void registerForSwipeEvents() {
247241
}
248242
}
249243

250-
protected void setSwipeEventsEnabled(boolean enabled) {
251-
mCanSwipe = enabled;
252-
}
253-
254244
// see: http://stackoverflow.com/a/7767610
255245
private class SwipeDetector extends SimpleOnGestureListener {
256246
@Override
@@ -373,7 +363,8 @@ protected Dialog onCreateDialog(int id) {
373363
if (ActivityCompat.shouldShowRequestPermissionRationale(MediaPhoneActivity.this,
374364
Manifest.permission.POST_NOTIFICATIONS)) {
375365
UIUtilities.showFormattedToast(MediaPhoneActivity.this,
376-
R.string.permission_notification_rationale, getString(R.string.app_name));
366+
R.string.permission_notification_rationale,
367+
getString(R.string.app_name));
377368
}
378369
ActivityCompat.requestPermissions(MediaPhoneActivity.this,
379370
new String[]{ Manifest.permission.POST_NOTIFICATIONS }, PERMISSION_POST_NOTIFICATIONS);
@@ -461,16 +452,12 @@ public boolean onOptionsItemSelected(MenuItem item) {
461452
return super.onOptionsItemSelected(item);
462453
}
463454

464-
protected void createMediaMenuNavigationButtons(MenuInflater inflater, Menu menu, boolean edited) {
455+
protected void createMediaMenuNavigationButtons(MenuInflater inflater, Menu menu) {
465456
inflater.inflate(R.menu.add_frame, menu);
466457
inflater.inflate(R.menu.copy_media, menu);
467458
inflater.inflate(R.menu.paste_media, menu);
468459

469-
// if (edited) {
470460
inflater.inflate(R.menu.finished_editing, menu);
471-
// } else {
472-
// inflater.inflate(R.menu.back_without_editing, menu);
473-
// }
474461
}
475462

476463
protected void prepareMediaMenuNavigationButtons(Menu menu, String mediaId) {
@@ -486,8 +473,7 @@ protected void prepareMediaMenuNavigationButtons(Menu menu, String mediaId) {
486473
menu.findItem(R.id.menu_copy_media).setVisible(true);
487474
menu.findItem(R.id.menu_paste_media).setVisible(false);
488475
} else {
489-
SharedPreferences copyFrameSettings = getSharedPreferences(MediaPhone.APPLICATION_NAME,
490-
Context.MODE_PRIVATE);
476+
SharedPreferences copyFrameSettings = getSharedPreferences(MediaPhone.APPLICATION_NAME, Context.MODE_PRIVATE);
491477
String copiedFrameId = copyFrameSettings.getString(getString(R.string.key_copied_frame), null);
492478
menu.findItem(R.id.menu_copy_media).setVisible(false);
493479
menu.findItem(R.id.menu_paste_media).setVisible(!TextUtils.isEmpty(copiedFrameId));
@@ -665,18 +651,6 @@ public void run() {
665651
};
666652
}
667653

668-
protected void setBackButtonIcons(Activity activity, int button1, int button2, boolean isEdited) {
669-
//if (button1 != 0) {
670-
// ((CenteredImageTextButton) findViewById(button1)).setCompoundDrawablesWithIntrinsicBounds(0, (isEdited ? R.drawable
671-
// .ic_menu_accept : R.drawable.ic_menu_back), 0, 0);
672-
//}
673-
//if (button2 != 0) {
674-
// ((CenteredImageTextButton) findViewById(button2)).setCompoundDrawablesWithIntrinsicBounds(0, (isEdited ? R.drawable
675-
// .ic_menu_accept : R.drawable.ic_menu_back), 0, 0);
676-
//}
677-
//UIUtilities.refreshActionBar(activity);
678-
}
679-
680654
@Override
681655
public void onActivityResult(int requestCode, int resultCode, Intent resultIntent) {
682656
if (requestCode == MediaPhone.R_id_intent_preferences) {
@@ -770,7 +744,7 @@ private void loadAllPreferences() {
770744
try {
771745
String requestedOrientationString = mediaPhoneSettings.getString(getString(R.string.key_screen_orientation), null);
772746
if (requestedOrientationString != null) {
773-
requestedOrientation = Integer.valueOf(requestedOrientationString);
747+
requestedOrientation = Integer.parseInt(requestedOrientationString);
774748
}
775749
} catch (Exception e) {
776750
requestedOrientation = res.getInteger(R.integer.default_screen_orientation);
@@ -1064,7 +1038,7 @@ protected String insertFrameAfterMedia(MediaItem existingMedia) {
10641038
/**
10651039
* Switch from one frame to another. Will call onBackPressed() on the calling activity
10661040
*/
1067-
protected boolean switchFrames(String currentFrameId, int buttonId, String newFrameId, boolean showOptionsMenu) {
1041+
protected boolean switchFrames(String currentFrameId, int buttonId, String newFrameId) {
10681042
if (currentFrameId == null) {
10691043
return false;
10701044
}
@@ -1794,8 +1768,7 @@ protected void deleteNarrativeDialog(final String narrativeInternalId) {
17941768
AlertDialog.Builder builder1 = new AlertDialog.Builder(MediaPhoneActivity.this);
17951769
builder1.setTitle(R.string.delete_narrative_second_confirmation);
17961770
builder1.setMessage(
1797-
getResources().getQuantityString(R.plurals.delete_narrative_second_hint, numFramesDeleted,
1798-
numFramesDeleted));
1771+
getResources().getQuantityString(R.plurals.delete_narrative_second_hint, numFramesDeleted, numFramesDeleted));
17991772
builder1.setNegativeButton(R.string.button_cancel, null);
18001773
builder1.setPositiveButton(R.string.button_delete, (dialog1, whichButton1) -> {
18011774
ContentResolver contentResolver = getContentResolver();
@@ -1822,8 +1795,7 @@ protected void exportContent(final String narrativeId, final boolean isTemplate)
18221795
UIUtilities.showFormattedToast(MediaPhoneActivity.this, R.string.permission_storage_rationale,
18231796
getString(R.string.app_name));
18241797
}
1825-
ActivityCompat.requestPermissions(MediaPhoneActivity.this,
1826-
new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE },
1798+
ActivityCompat.requestPermissions(MediaPhoneActivity.this, new String[]{ Manifest.permission.WRITE_EXTERNAL_STORAGE },
18271799
PERMISSION_EXPORT_STORAGE);
18281800
}
18291801

@@ -1880,13 +1852,13 @@ protected void exportContent(final String narrativeId, final boolean isTemplate)
18801852
settings.put(MediaUtilities.KEY_TEXT_BACKGROUND_COLOUR, res.getColor(R.color.export_text_background));
18811853

18821854
// TODO: do we want to do getDimensionPixelSize for export?
1883-
settings.put(MediaUtilities.KEY_TEXT_BACKGROUND_SPAN_WIDTH, Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB);
1855+
settings.put(MediaUtilities.KEY_TEXT_BACKGROUND_SPAN_WIDTH, true);
18841856
settings.put(MediaUtilities.KEY_MAX_TEXT_FONT_SIZE, res.getDimensionPixelSize(R.dimen.export_maximum_text_size));
18851857
settings.put(MediaUtilities.KEY_MAX_TEXT_PERCENTAGE_HEIGHT_WITH_IMAGE,
18861858
res.getInteger(R.integer.export_maximum_text_percentage_height_with_image));
18871859
settings.put(MediaUtilities.KEY_TEXT_SPACING, res.getDimensionPixelSize(R.dimen.export_icon_text_padding));
18881860
settings.put(MediaUtilities.KEY_TEXT_CORNER_RADIUS,
1889-
res.getDimensionPixelSize(R.dimen.export_icon_text_corner_radius));
1861+
res.getDimensionPixelSize(R.dimen.export_icon_text_corner_radius));
18901862

18911863
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(MediaPhoneActivity.this);
18921864

@@ -1905,7 +1877,7 @@ protected void exportContent(final String narrativeId, final boolean isTemplate)
19051877
int outputSize;
19061878
try {
19071879
String requestedExportSize = preferences.getString(getString(R.string.key_video_quality), null);
1908-
outputSize = Integer.valueOf(requestedExportSize);
1880+
outputSize = Integer.parseInt(requestedExportSize);
19091881
} catch (Exception e) {
19101882
outputSize = res.getInteger(R.integer.default_video_quality);
19111883
}
@@ -1926,9 +1898,10 @@ protected void exportContent(final String narrativeId, final boolean isTemplate)
19261898
// set audio resampling rate: -1 = automatically selected (default); 0 = none
19271899
int newBitrate;
19281900
try {
1929-
String requestedBitrateString = preferences.getString(
1930-
getString(R.string.key_audio_resampling_bitrate), null);
1931-
newBitrate = Integer.valueOf(requestedBitrateString);
1901+
String requestedBitrateString =
1902+
preferences.getString(getString(R.string.key_audio_resampling_bitrate),
1903+
null);
1904+
newBitrate = Integer.parseInt(requestedBitrateString);
19321905
} catch (Exception e) {
19331906
newBitrate = res.getInteger(R.integer.default_resampling_bitrate);
19341907
}
@@ -2961,8 +2934,7 @@ public void run() {
29612934
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_DCIM + "/" + appName);
29622935
contentUri = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL);
29632936
} else if (Environment.DIRECTORY_MUSIC.equals(outputDirectoryType)) {
2964-
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH,
2965-
Environment.DIRECTORY_MUSIC + "/" + appName);
2937+
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_MUSIC + "/" + appName);
29662938
contentUri = MediaStore.Audio.Media.getContentUri(MediaStore.VOLUME_EXTERNAL);
29672939
}
29682940
if (contentUri != null) {
@@ -2995,8 +2967,7 @@ public void run() {
29952967
File outputFile = IOUtilities.newDatedFileName(outputDirectory,
29962968
IOUtilities.getFileExtension(mediaFile.getName()));
29972969
IOUtilities.copyFile(mediaFile, outputFile);
2998-
MediaScannerConnection.scanFile(MediaPhoneActivity.this,
2999-
new String[]{ outputFile.getAbsolutePath() },
2970+
MediaScannerConnection.scanFile(MediaPhoneActivity.this, new String[]{ outputFile.getAbsolutePath() },
30002971
null, new MediaScannerConnection.OnScanCompletedListener() {
30012972
@Override
30022973
public void onScanCompleted(String path, Uri uri) {

MediaPhone/src/main/java/ac/robinson/mediaphone/MediaPhoneApplication.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,6 @@ private void initialiseParameters() {
172172
Resources res = getResources();
173173

174174
MediaPhone.ANIMATION_FADE_TRANSITION_DURATION = res.getInteger(R.integer.animation_fade_transition_duration);
175-
MediaPhone.ANIMATION_ICON_SHOW_DELAY = res.getInteger(R.integer.animation_icon_show_delay);
176175
MediaPhone.ANIMATION_ICON_REFRESH_DELAY = res.getInteger(R.integer.animation_icon_refresh_delay);
177176
MediaPhone.ANIMATION_POPUP_SHOW_DELAY = res.getInteger(R.integer.animation_popup_show_delay);
178177
MediaPhone.ANIMATION_POPUP_HIDE_DELAY = res.getInteger(R.integer.animation_popup_hide_delay);

MediaPhone/src/main/java/ac/robinson/mediaphone/activity/AudioActivity.java

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,6 @@ protected void onCreate(Bundle savedInstanceState) {
140140
mMediaItemInternalId = savedInstanceState.getString(getString(R.string.extra_internal_id));
141141
mHasEditedMedia = savedInstanceState.getBoolean(getString(R.string.extra_media_edited), true);
142142
mAudioPickerShown = savedInstanceState.getBoolean(getString(R.string.extra_external_chooser_shown), false);
143-
if (mHasEditedMedia) {
144-
setBackButtonIcons(AudioActivity.this, R.id.button_finished_audio, R.id.button_cancel_recording, true);
145-
}
146143
}
147144

148145
// prevent spanning if appropriate
@@ -228,8 +225,6 @@ public void onBackPressed() {
228225
// update this frame's icon to show audio; propagate to following frames if applicable
229226
// TODO: we could just update when the audio is added or removed; edits not needed
230227
updateMediaFrameIcons(audioMediaItem, null);
231-
setBackButtonIcons(AudioActivity.this, R.id.button_finished_audio, R.id.button_cancel_recording,
232-
true);
233228

234229
// if we do this then we can't tell whether to change icons on screen rotation; disabled
235230
// mHasEditedMedia = false; // we've saved the icon, so are no longer in edit mode
@@ -262,7 +257,7 @@ public void onBackPressed() {
262257
@Override
263258
public boolean onCreateOptionsMenu(Menu menu) {
264259
MenuInflater inflater = getMenuInflater();
265-
createMediaMenuNavigationButtons(inflater, menu, mHasEditedMedia);
260+
createMediaMenuNavigationButtons(inflater, menu);
266261
return super.onCreateOptionsMenu(menu);
267262
}
268263

@@ -306,7 +301,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
306301
}
307302
return true;
308303

309-
} else if (itemId == R.id.menu_back_without_editing || itemId == R.id.menu_finished_editing) {
304+
} else if (itemId == R.id.menu_finished_editing) {
310305
onBackPressed();
311306
return true;
312307
}
@@ -350,17 +345,6 @@ protected void loadPreferences(SharedPreferences mediaPhoneSettings) {
350345

351346
@Override
352347
protected void configureInterfacePreferences(SharedPreferences mediaPhoneSettings) {
353-
// the soft done/back button
354-
// TODO: remove this to fit with new styling (Toolbar etc)
355-
int newVisibility = View.VISIBLE;
356-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ||
357-
!mediaPhoneSettings.getBoolean(getString(R.string.key_show_back_button),
358-
getResources().getBoolean(R.bool.default_show_back_button))) {
359-
newVisibility = View.GONE;
360-
}
361-
findViewById(R.id.button_finished_audio).setVisibility(newVisibility);
362-
findViewById(R.id.button_cancel_recording).setVisibility(newVisibility);
363-
364348
// to enable or disable spanning, all we do is show/hide the interface - eg., items that already span will not be removed
365349
findViewById(R.id.button_toggle_mode_audio).setVisibility(
366350
mediaPhoneSettings.getBoolean(getString(R.string.key_spanning_media),
@@ -500,8 +484,6 @@ private boolean switchToRecording(File currentFile) {
500484
return initialised;
501485
}
502486

503-
// @TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1) is for AAC/HE_AAC audio recording
504-
@TargetApi(Build.VERSION_CODES.GINGERBREAD_MR1)
505487
private boolean initialiseAudioRecording(File currentFile) {
506488

507489
// where to record the new audio
@@ -516,9 +498,10 @@ private boolean initialiseAudioRecording(File currentFile) {
516498

517499
try {
518500
CheapSoundFile existingFile = CheapSoundFile.create(currentFile.getAbsolutePath(), true, null);
519-
enforcedSampleRate = existingFile.getSampleRate();
520-
} catch (Exception e) {
521-
enforcedSampleRate = -1;
501+
if (existingFile != null) {
502+
enforcedSampleRate = existingFile.getSampleRate();
503+
}
504+
} catch (Exception ignored) {
522505
}
523506
}
524507

@@ -582,7 +565,6 @@ private void startRecording() {
582565
// if (MediaPhone.DEBUG) Log.d(DebugUtilities.getLogTag(this), "Recording - what: " + what + ", ex: " + extra);
583566
});
584567
mMediaRecorder.start();
585-
setBackButtonIcons(AudioActivity.this, R.id.button_finished_audio, R.id.button_cancel_recording, true);
586568
} catch (Throwable t) {
587569
UIUtilities.showToast(AudioActivity.this, R.string.error_recording_audio);
588570
if (MediaPhone.DEBUG) {
@@ -1008,12 +990,18 @@ public void seekTo(int pos) {
1008990

1009991
@Override
1010992
public boolean isPlaying() {
1011-
return mMediaPlayer != null ? mMediaPlayer.isPlaying() : false;
993+
if (mMediaPlayer != null) {
994+
return mMediaPlayer.isPlaying();
995+
}
996+
return false;
1012997
}
1013998

1014999
@Override
10151000
public boolean isLoading() {
1016-
return mMediaPlayer != null ? mMediaPlayer.isPlaying() : false;
1001+
if (mMediaPlayer != null) {
1002+
return mMediaPlayer.isPlaying();
1003+
}
1004+
return false;
10171005
}
10181006

10191007
@Override
@@ -1047,10 +1035,7 @@ public void handleButtonClicks(View currentButton) {
10471035
}
10481036

10491037
int buttonId = currentButton.getId();
1050-
if (buttonId == R.id.button_cancel_recording || buttonId == R.id.button_finished_audio) {
1051-
onBackPressed();
1052-
1053-
} else if (buttonId == R.id.button_record_audio) {
1038+
if (buttonId == R.id.button_record_audio) {
10541039
currentButton.setEnabled(false); // don't let them press twice
10551040
if (mAudioRecordingInProgress) {
10561041
stopRecording(AfterRecordingMode.DO_NOTHING); // don't switch to playback afterwards (can continue)
@@ -1072,7 +1057,6 @@ public void handleButtonClicks(View currentButton) {
10721057
mMediaItemInternalId);
10731058
if (spanningAudioMediaItem != null && spanningAudioMediaItem.getFile().length() > 0) {
10741059
mHasEditedMedia = true; // so we update/inherit on exit and show the media edited icon
1075-
setBackButtonIcons(AudioActivity.this, R.id.button_finished_audio, R.id.button_cancel_recording, true);
10761060
boolean frameSpanning = toggleFrameSpanningMedia(spanningAudioMediaItem);
10771061
updateSpanFramesButtonIcon(R.id.button_toggle_mode_audio, frameSpanning, true);
10781062
UIUtilities.showToast(AudioActivity.this,

0 commit comments

Comments
 (0)