aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--subsonic-android/res/layout/start_timer.xml27
-rw-r--r--subsonic-android/res/values/strings.xml1
-rw-r--r--subsonic-android/res/xml/settings.xml6
-rw-r--r--subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java34
-rw-r--r--subsonic-android/src/github/daneren2005/dsub/activity/SettingsActivity.java3
5 files changed, 60 insertions, 11 deletions
diff --git a/subsonic-android/res/layout/start_timer.xml b/subsonic-android/res/layout/start_timer.xml
new file mode 100644
index 00000000..3b607a44
--- /dev/null
+++ b/subsonic-android/res/layout/start_timer.xml
@@ -0,0 +1,27 @@
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="vertical"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content">
+
+ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:orientation="horizontal"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content">
+
+ <TextView
+ android:id="@+id/timer_length_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginLeft="4dp"
+ android:textSize="20dp"
+ android:text="@string/download.timer_length" />
+ <EditText
+ android:id="@+id/timer_length"
+ android:inputType="number"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:layout_marginLeft="4dp"
+ android:hint="@string/download.timer_length" />
+ </LinearLayout>
+</LinearLayout> \ No newline at end of file
diff --git a/subsonic-android/res/values/strings.xml b/subsonic-android/res/values/strings.xml
index bc8f31f7..6ada14a8 100644
--- a/subsonic-android/res/values/strings.xml
+++ b/subsonic-android/res/values/strings.xml
@@ -135,6 +135,7 @@
<string name="download.jukebox_not_authorized">Remote control is not allowed. Please enable jukebox mode in <b>Users &gt; Settings</b> on your Subsonic server.</string>
<string name="download.show_downloading">Show Downloading</string>
<string name="download.show_now_playing">Show Now Playing</string>
+ <string name="download.timer_length">Timer Length</string>
<string name="download.start_timer">Start Timer</string>
<string name="download.stop_timer">Stop Timer</string>
<string name="download.need_download">Video needs to be downloaded first</string>
diff --git a/subsonic-android/res/xml/settings.xml b/subsonic-android/res/xml/settings.xml
index f79063cc..393d7cba 100644
--- a/subsonic-android/res/xml/settings.xml
+++ b/subsonic-android/res/xml/settings.xml
@@ -155,12 +155,6 @@
android:key="randomSize"
android:defaultValue="20"
android:digits="0123456789"/>
-
- <EditTextPreference
- android:title="@string/settings.sleep_timer_duration_title"
- android:key="sleepTimerDuration"
- android:defaultValue="60"
- android:digits="0123456789"/>
<ListPreference
android:title="@string/settings.temp_loss_title"
diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java
index 52ea5b25..8d96499d 100644
--- a/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java
+++ b/subsonic-android/src/github/daneren2005/dsub/activity/DownloadActivity.java
@@ -31,6 +31,7 @@ import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
@@ -640,10 +641,10 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
case R.id.menu_toggle_timer:
if(getDownloadService().getSleepTimer()) {
getDownloadService().stopSleepTimer();
+ invalidateOptionsMenu();
} else {
- getDownloadService().startSleepTimer();
+ startTimer();
}
- invalidateOptionsMenu();
return true;
case R.id.menu_exit:
intent = new Intent(this, MainActivity.class);
@@ -704,6 +705,35 @@ public class DownloadActivity extends SubsonicTabActivity implements OnGestureLi
}
}.execute();
}
+
+ protected void startTimer() {
+ View dialogView = getLayoutInflater().inflate(R.layout.start_timer, null);
+ final EditText lengthBox = (EditText)dialogView.findViewById(R.id.timer_length);
+
+ final SharedPreferences prefs = Util.getPreferences(DownloadActivity.this);
+ lengthBox.setText(prefs.getString(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION, ""));
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(DownloadActivity.this);
+ builder.setTitle("Set Timer")
+ .setView(dialogView)
+ .setPositiveButton("OK", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int id) {
+ String length = lengthBox.getText().toString();
+
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putString(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION, length);
+ editor.commit();
+
+ getDownloadService().setSleepTimerDuration(Integer.parseInt(length));
+ getDownloadService().startSleepTimer();
+ invalidateOptionsMenu();
+ }
+ })
+ .setNegativeButton("Cancel", null);
+ AlertDialog dialog = builder.create();
+ dialog.show();
+ }
private void toggleFullscreenAlbumArt() {
scrollToCurrent();
diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SettingsActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SettingsActivity.java
index 086b48ca..97c4c44d 100644
--- a/subsonic-android/src/github/daneren2005/dsub/activity/SettingsActivity.java
+++ b/subsonic-android/src/github/daneren2005/dsub/activity/SettingsActivity.java
@@ -57,7 +57,6 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
private EditTextPreference cacheLocation;
private ListPreference preloadCount;
private EditTextPreference randomSize;
- private EditTextPreference sleepTimerDuration;
private ListPreference tempLoss;
@Override
@@ -73,7 +72,6 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
cacheLocation = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_CACHE_LOCATION);
preloadCount = (ListPreference) findPreference(Constants.PREFERENCES_KEY_PRELOAD_COUNT);
randomSize = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_RANDOM_SIZE);
- sleepTimerDuration = (EditTextPreference) findPreference(Constants.PREFERENCES_KEY_SLEEP_TIMER_DURATION);
tempLoss = (ListPreference) findPreference(Constants.PREFERENCES_KEY_TEMP_LOSS);
findPreference("testConnection1").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@@ -162,7 +160,6 @@ public class SettingsActivity extends PreferenceActivity implements SharedPrefer
cacheLocation.setSummary(cacheLocation.getText());
preloadCount.setSummary(preloadCount.getEntry());
randomSize.setSummary(randomSize.getText());
- sleepTimerDuration.setSummary(sleepTimerDuration.getText());
tempLoss.setSummary(tempLoss.getEntry());
for (ServerSettings ss : serverSettings.values()) {
ss.update();