Skip to content

Commit b29a010

Browse files
author
Chris Bellew
committed
Implemented resume functionality.
1 parent 223259a commit b29a010

File tree

6 files changed

+53
-15
lines changed

6 files changed

+53
-15
lines changed

mobile/src/main/java/com/atomjack/vcfp/activities/MainActivity.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1284,7 +1284,6 @@ public void run() {
12841284
}
12851285
};
12861286
Logger.d("Refreshing");
1287-
//deviceListRefreshSpinner
12881287
button.setVisibility(View.GONE);
12891288
spinnerImage.setVisibility(View.VISIBLE);
12901289
handler.removeCallbacks(refreshClients);
@@ -1293,6 +1292,16 @@ public void run() {
12931292
}
12941293
});
12951294

1295+
CheckBox resumeCheckbox = (CheckBox) layout.findViewById(R.id.deviceListResume);
1296+
resumeCheckbox.setVisibility(View.VISIBLE);
1297+
resumeCheckbox.setChecked(VoiceControlForPlexApplication.getInstance().prefs.get(Preferences.RESUME, false));
1298+
resumeCheckbox.setOnClickListener(new View.OnClickListener() {
1299+
@Override
1300+
public void onClick(View v) {
1301+
VoiceControlForPlexApplication.getInstance().prefs.put(Preferences.RESUME, ((CheckBox) v).isChecked());
1302+
}
1303+
});
1304+
12961305
if(VoiceControlForPlexApplication.getAllClients().size() == 0)
12971306
layout.findViewById(R.id.deviceSelectNoDevicesFound).setVisibility(View.VISIBLE);
12981307
else
@@ -1314,7 +1323,7 @@ public void onItemClick(AdapterView<?> parentAdapter, View view, int position,
13141323
PlexClient s = (PlexClient) parentAdapter.getItemAtPosition(position);
13151324
Logger.d("client clicked: %s", s.name);
13161325
deviceSelectDialog.dismiss();
1317-
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.serverListResume);
1326+
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.deviceListResume);
13181327
if (onFinish != null)
13191328
onFinish.onDeviceSelected(s, resumeCheckbox.isChecked());
13201329
}
@@ -1336,6 +1345,14 @@ else if(plexSubscription.mClient != null)
13361345
.setView(view);
13371346
final AlertDialog subscribeDialog = builder.create();
13381347

1348+
CheckBox resumeCheckbox = (CheckBox)view.findViewById(R.id.resumeCheckbox);
1349+
resumeCheckbox.setChecked(VoiceControlForPlexApplication.getInstance().prefs.get(Preferences.RESUME, false));
1350+
resumeCheckbox.setOnClickListener(new View.OnClickListener() {
1351+
@Override
1352+
public void onClick(View v) {
1353+
VoiceControlForPlexApplication.getInstance().prefs.put(Preferences.RESUME, ((CheckBox) v).isChecked());
1354+
}
1355+
});
13391356
TextView clientName = (TextView)view.findViewById(R.id.popupConnectedToClientName);
13401357
clientName.setText(client.name);
13411358
Button cancelButton = (Button)view.findViewById(R.id.popupConnectedToClientCancelButton);

mobile/src/main/java/com/atomjack/vcfp/activities/ShortcutProviderActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,7 @@ public void showPlexClients(boolean showResume, final ScanHandler onFinish) {
238238
deviceSelectDialog.findViewById(R.id.unauthorizedLocalServerFoundFrameView).setVisibility(View.GONE);
239239

240240
if (showResume) {
241-
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.serverListResume);
241+
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.deviceListResume);
242242
resumeCheckbox.setVisibility(View.VISIBLE);
243243
}
244244

@@ -253,7 +253,7 @@ public void onItemClick(AdapterView<?> parentAdapter, View view, int position,
253253
long id) {
254254
PlexClient s = (PlexClient) parentAdapter.getItemAtPosition(position);
255255
deviceSelectDialog.dismiss();
256-
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.serverListResume);
256+
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.deviceListResume);
257257
if (onFinish != null)
258258
onFinish.onDeviceSelected(s, resumeCheckbox.isChecked());
259259
}

mobile/src/main/java/com/atomjack/vcfp/activities/VCFPActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -930,7 +930,7 @@ public void onCancel(DialogInterface dialogInterface) {
930930
deviceSelectDialog.findViewById(R.id.unauthorizedLocalServerFoundFrameView).setVisibility(View.GONE);
931931

932932
if (showResume) {
933-
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.serverListResume);
933+
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.deviceListResume);
934934
resumeCheckbox.setVisibility(View.VISIBLE);
935935
}
936936

@@ -945,7 +945,7 @@ public void onItemClick(AdapterView<?> parentAdapter, View view, int position,
945945
long id) {
946946
PlexClient s = (PlexClient) parentAdapter.getItemAtPosition(position);
947947
deviceSelectDialog.dismiss();
948-
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.serverListResume);
948+
CheckBox resumeCheckbox = (CheckBox) deviceSelectDialog.findViewById(R.id.deviceListResume);
949949
if (onFinish != null)
950950
onFinish.onDeviceSelected(s, resumeCheckbox.isChecked());
951951
}

mobile/src/main/java/com/atomjack/vcfp/fragments/PlayerFragment.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,10 @@ public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
127127
seekBar = (SeekBar) mainView.findViewById(R.id.seekBar);
128128
seekBar.setOnSeekBarChangeListener(this);
129129
seekBar.setMax(nowPlayingMedia.duration / 1000);
130-
seekBar.setProgress(Integer.parseInt(nowPlayingMedia.viewOffset) / 1000);
130+
if(VoiceControlForPlexApplication.getInstance().prefs.get(Preferences.RESUME, false))
131+
seekBar.setProgress(Integer.parseInt(nowPlayingMedia.viewOffset) / 1000);
132+
else
133+
seekBar.setProgress(0);
131134

132135
setCurrentTimeDisplay(getOffset(nowPlayingMedia));
133136
durationDisplay.setText(VoiceControlForPlexApplication.secondsToTimecode(nowPlayingMedia.duration / 1000));

mobile/src/main/res/layout/device_select.xml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,24 @@
6464
android:layout_width="match_parent"
6565
android:layout_height="wrap_content" >
6666
</ListView>
67-
<CheckBox
68-
android:id="@+id/serverListResume"
69-
android:layout_width="match_parent"
67+
68+
<LinearLayout
69+
android:orientation="horizontal"
70+
android:layout_width="fill_parent"
7071
android:layout_height="wrap_content"
71-
android:layout_marginBottom="30dp"
72-
android:layout_marginTop="10dp"
73-
android:visibility="gone"
74-
android:text="@string/resume_if_in_progress"
75-
android:textColor="@color/white" />
72+
android:gravity="center_horizontal">
73+
74+
<CheckBox
75+
android:id="@+id/deviceListResume"
76+
android:layout_width="wrap_content"
77+
android:layout_height="wrap_content"
78+
android:layout_marginBottom="30dp"
79+
android:layout_marginTop="10dp"
80+
android:text="@string/resume_if_in_progress"
81+
android:textColor="@color/white"
82+
android:allowUndo="false"
83+
android:visibility="gone"/>
84+
</LinearLayout>
7685

7786
<FrameLayout
7887
android:layout_width="match_parent"

mobile/src/main/res/layout/popup_connected_to_client.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,15 @@
2727
android:textColor="@color/white"/>
2828
</LinearLayout>
2929

30+
<CheckBox
31+
android:layout_width="wrap_content"
32+
android:layout_height="wrap_content"
33+
android:text="@string/resume_if_in_progress"
34+
android:id="@+id/resumeCheckbox"
35+
android:textColor="@color/white"
36+
android:layout_gravity="center_horizontal"
37+
android:layout_marginTop="15dp"/>
38+
3039
<SeekBar
3140
android:layout_width="fill_parent"
3241
android:layout_height="wrap_content"

0 commit comments

Comments
 (0)