summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vdr-vdrmanager/helpers.cpp13
-rw-r--r--vdrmanager/AndroidManifest.xml5
-rw-r--r--vdrmanager/res/drawable-hdpi/ic_menu_recent_history.pngbin0 -> 2171 bytes
-rw-r--r--vdrmanager/res/drawable-mdpi/ic_menu_recent_history.pngbin0 -> 1293 bytes
-rw-r--r--vdrmanager/res/drawable-xhdpi/ic_menu_recent_history.pngbin0 -> 3001 bytes
-rw-r--r--vdrmanager/res/layout-land-v11/vdrmanager.xml67
-rw-r--r--vdrmanager/res/layout-land/vdrmanager.xml23
-rw-r--r--vdrmanager/res/layout-v11/vdrmanager.xml80
-rw-r--r--vdrmanager/res/menu-v11/channellist.xml16
-rw-r--r--vdrmanager/res/menu-v11/recording_list_item_menu.xml7
-rw-r--r--vdrmanager/res/menu-v11/recording_list_menu.xml21
-rw-r--r--vdrmanager/res/menu-v11/timer_list_menu.xml21
-rw-r--r--vdrmanager/res/menu/channellist.xml14
-rw-r--r--vdrmanager/res/menu/recording_list_menu.xml20
-rw-r--r--vdrmanager/res/menu/timer_list_menu.xml20
-rw-r--r--vdrmanager/res/values-it/strings.xml424
-rw-r--r--vdrmanager/res/values/preferences_keys.xml2
-rw-r--r--vdrmanager/res/values/strings.xml7
-rw-r--r--vdrmanager/res/xml/preferences.xml9
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/StringUtils.java4
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/app/VdrManagerApp.java2
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/data/Channel.java4
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/data/Preferences.java132
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/data/Timer.java1
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/data/Vdr.java22
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/data/db/OrmDatabaseHelper.java1
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java7
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseEventListActivity.java9
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseTimerEditActivity.java8
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/ChannelListActivity.java141
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/ICSBaseActivity.java3
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/RecordingListActivity.java21
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java2
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerListActivity.java39
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/Utils.java3
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrListActivity.java143
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java62
-rw-r--r--vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java3
38 files changed, 960 insertions, 396 deletions
diff --git a/vdr-vdrmanager/helpers.cpp b/vdr-vdrmanager/helpers.cpp
index 3f4b9ec..b1ca86f 100644
--- a/vdr-vdrmanager/helpers.cpp
+++ b/vdr-vdrmanager/helpers.cpp
@@ -355,9 +355,7 @@ string cHelpers::SetTimerIntern(char op, string param) {
default:
return Error("unknown timer command");
}
-
return "START\r\nEND\r\n";
-
}
string cHelpers::SetTimerIntern(string args) {
@@ -391,7 +389,7 @@ string cHelpers::SetTimerIntern(string args) {
}
string cHelpers::Error(const string& msg) {
- return "!ERROR:" + msg + "\r\n";
+ return "START\r\n!ERROR:" + msg + "\r\nEND\r\n";
}
string cHelpers::SearchEventsIntern(string wantedChannels, string pattern) {
@@ -504,7 +502,10 @@ string cHelpers::ToText(cRecording * recording) {
result += MapSpecialChars(info->ChannelID().ToString());
result += ":";
- snprintf(buf, sizeof(buf)-1, "%d", RecordingLengthInSeconds(recording));
+
+ int length = RecordingLengthInSeconds(recording);
+
+ snprintf(buf, sizeof(buf)-1, "%d", length);
result += buf;
result += "\r\n";
@@ -820,6 +821,10 @@ string cHelpers::UnMapSpecialChars(string text) {
*/
int cHelpers::RecordingLengthInSeconds(cRecording* recording)
{
+#if APIVERSNUM < 10721
+ return -1;
+#endif
+
int nf = recording->NumFrames();
if (nf >= 0)
#if APIVERSNUM >= 10703
diff --git a/vdrmanager/AndroidManifest.xml b/vdrmanager/AndroidManifest.xml
index 3604581..12e6b37 100644
--- a/vdrmanager/AndroidManifest.xml
+++ b/vdrmanager/AndroidManifest.xml
@@ -1,8 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="de.bjusystems.vdrmanager" android:versionName="0.4.6"
- android:versionCode="406">
+ package="de.bjusystems.vdrmanager" android:versionName="0.4.7"
+ android:versionCode="407">
<application android:icon="@drawable/app_logo"
+ android:hardwareAccelerated="true"
android:label="@string/app_name" android:debuggable="false"
android:name=".app.VdrManagerApp">
<activity android:label="@string/app_name" android:name=".gui.VdrManagerActivity" android:configChanges="locale">
diff --git a/vdrmanager/res/drawable-hdpi/ic_menu_recent_history.png b/vdrmanager/res/drawable-hdpi/ic_menu_recent_history.png
new file mode 100644
index 0000000..4101434
--- /dev/null
+++ b/vdrmanager/res/drawable-hdpi/ic_menu_recent_history.png
Binary files differ
diff --git a/vdrmanager/res/drawable-mdpi/ic_menu_recent_history.png b/vdrmanager/res/drawable-mdpi/ic_menu_recent_history.png
new file mode 100644
index 0000000..e5f8e2d
--- /dev/null
+++ b/vdrmanager/res/drawable-mdpi/ic_menu_recent_history.png
Binary files differ
diff --git a/vdrmanager/res/drawable-xhdpi/ic_menu_recent_history.png b/vdrmanager/res/drawable-xhdpi/ic_menu_recent_history.png
new file mode 100644
index 0000000..fc5e1fc
--- /dev/null
+++ b/vdrmanager/res/drawable-xhdpi/ic_menu_recent_history.png
Binary files differ
diff --git a/vdrmanager/res/layout-land-v11/vdrmanager.xml b/vdrmanager/res/layout-land-v11/vdrmanager.xml
new file mode 100644
index 0000000..a2728f0
--- /dev/null
+++ b/vdrmanager/res/layout-land-v11/vdrmanager.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent">
+<LinearLayout
+ android:layout_width="fill_parent" android:layout_height="fill_parent"
+ android:orientation="vertical" android:padding="10dip">
+ <ImageView android:id="@+id/main_logo" android:layout_width="fill_parent"
+ android:layout_height="80dip" android:src="@drawable/vdr_logo" android:paddingBottom="5dip" />
+
+ <!-- <ListView android:id="@+id/vdrmanager_menu" android:layout_width="fill_parent"
+ android:layout_height="wrap_content" android:layout_below="@id/main_logo"/> -->
+
+ <LinearLayout android:layout_width="fill_parent"
+ android:layout_height="wrap_content" android:orientation="horizontal" android:padding="3dip">
+ <Button android:text="@string/action_menu_channels"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawableTop="@drawable/btn_channels" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_channels" android:layout_height="wrap_content"
+ android:textColor="#FFF" android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"/>
+
+
+ <Button android:text="@string/action_menu_recordings"
+ xmlns:android="http://schemas.android.com/apk/res/android" android:padding="3dip"
+ android:drawableTop="@drawable/btn_recordings" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_recordings" android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF"
+ />
+
+ <Button android:text="@string/action_menu_timers"
+ xmlns:android="http://schemas.android.com/apk/res/android" android:padding="3dip"
+ android:drawableTop="@drawable/btn_timer" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_timers" android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF" />
+ </LinearLayout>
+ <LinearLayout android:layout_width="fill_parent"
+ android:layout_height="wrap_content" android:orientation="horizontal">
+ <Button android:text="@string/action_menu_epg"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawableTop="@drawable/btn_epglist" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_epg" android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:padding="3dip"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF" />
+
+ <Button android:text="@string/action_menu_wakeup"
+ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_weight="1"
+ android:padding="3dip"
+ android:drawableTop="@drawable/btn_wakeup" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_wakeup" android:layout_height="wrap_content"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF" />
+ </LinearLayout>
+
+</LinearLayout>
+ </ScrollView> \ No newline at end of file
diff --git a/vdrmanager/res/layout-land/vdrmanager.xml b/vdrmanager/res/layout-land/vdrmanager.xml
index 817eb4d..52cc9c6 100644
--- a/vdrmanager/res/layout-land/vdrmanager.xml
+++ b/vdrmanager/res/layout-land/vdrmanager.xml
@@ -31,15 +31,20 @@
android:background="@android:drawable/list_selector_background"
android:textColor="#FFF"
/>
-
- <Button android:text="@string/action_menu_timers"
- xmlns:android="http://schemas.android.com/apk/res/android" android:padding="3dip"
- android:drawableTop="@drawable/btn_timer" android:layout_width="wrap_content"
- android:id="@+id/action_menu_timers" android:layout_height="wrap_content"
- android:layout_weight="1"
- android:cacheColorHint="?android:attr/colorBackground"
- android:background="@android:drawable/list_selector_background"
- android:textColor="#FFF" />
+
+ <Button
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/action_menu_timers"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:background="@android:drawable/list_selector_background"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:drawableTop="@drawable/btn_timer"
+ android:padding="3dip"
+ android:text="@string/action_menu_timers"
+ android:textColor="#FFF" />
+
</LinearLayout>
<LinearLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:orientation="horizontal">
diff --git a/vdrmanager/res/layout-v11/vdrmanager.xml b/vdrmanager/res/layout-v11/vdrmanager.xml
new file mode 100644
index 0000000..40367c8
--- /dev/null
+++ b/vdrmanager/res/layout-v11/vdrmanager.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+ <ScrollView
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+
+ >
+
+<LinearLayout
+ android:layout_width="fill_parent" android:layout_height="fill_parent"
+ android:orientation="vertical" android:padding="10dip">
+
+ <ImageView android:id="@+id/main_logo" android:layout_width="fill_parent"
+ android:clickable="true"
+ android:layout_height="80dip" android:src="@drawable/vdr_logo" android:padding="10dip" />
+
+ <!-- <ListView android:id="@+id/vdrmanager_menu" android:layout_width="fill_parent"
+ android:layout_height="wrap_content" android:layout_below="@id/main_logo"/> -->
+
+ <LinearLayout android:layout_width="fill_parent"
+ android:layout_height="wrap_content" android:orientation="horizontal" android:padding="10dip">
+ <Button android:text="@string/action_menu_channels"
+ android:drawableTop="@drawable/btn_channels" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_channels" android:layout_height="wrap_content"
+ android:textColor="#FFF" android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"/>
+
+ <Button android:text="@string/action_menu_epg"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawableTop="@drawable/btn_epglist" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_epg" android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF" />
+
+ </LinearLayout>
+
+ <LinearLayout android:layout_width="fill_parent" android:padding="10dip"
+ android:layout_height="wrap_content" android:orientation="horizontal">
+
+ <Button android:text="@string/action_menu_recordings"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawableTop="@drawable/btn_recordings" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_recordings" android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF"
+ />
+
+ <Button android:text="@string/action_menu_timers"
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:drawableTop="@drawable/btn_timer" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_timers" android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF" />
+ </LinearLayout>
+
+ <LinearLayout android:layout_width="fill_parent" android:padding="10dip"
+ android:layout_height="wrap_content" android:orientation="horizontal">
+
+
+ <Button android:text="@string/action_menu_wakeup"
+ xmlns:android="http://schemas.android.com/apk/res/android" android:layout_weight="1"
+ android:padding="5dip"
+ android:drawableTop="@drawable/btn_wakeup" android:layout_width="wrap_content"
+ android:id="@+id/action_menu_wakeup" android:layout_height="wrap_content"
+
+ android:cacheColorHint="?android:attr/colorBackground"
+ android:background="@android:drawable/list_selector_background"
+ android:textColor="#FFF" />
+ </LinearLayout>
+
+</LinearLayout>
+</ScrollView> \ No newline at end of file
diff --git a/vdrmanager/res/menu-v11/channellist.xml b/vdrmanager/res/menu-v11/channellist.xml
new file mode 100644
index 0000000..2ca3884
--- /dev/null
+++ b/vdrmanager/res/menu-v11/channellist.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item
+ android:id="@+id/channels_recent_channels" android:alphabeticShortcut="r"
+ android:icon="@drawable/ic_menu_recent_history"
+ android:showAsAction="ifRoom"
+ android:title="@string/recent_channels"/>
+
+ <item
+ android:id="@+id/channels_groupby" android:alphabeticShortcut="g"
+ android:icon="@android:drawable/ic_menu_sort_alphabetically"
+ android:showAsAction="ifRoom"
+ android:title="@string/menu_groupby"/>
+
+</menu> \ No newline at end of file
diff --git a/vdrmanager/res/menu-v11/recording_list_item_menu.xml b/vdrmanager/res/menu-v11/recording_list_item_menu.xml
deleted file mode 100644
index c94161a..0000000
--- a/vdrmanager/res/menu-v11/recording_list_item_menu.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<menu xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:id="@+id/recording_item_menu_delete" android:title="@string/recording_item_menu_delete"/>
- <item android:id="@+id/recording_item_menu_stream" android:title="@string/recording_item_menu_stream"/>
- <item android:id="@+id/epg_item_menu_live_tv" android:title="@string/livetv" android:visible="false" />
-</menu> \ No newline at end of file
diff --git a/vdrmanager/res/menu-v11/recording_list_menu.xml b/vdrmanager/res/menu-v11/recording_list_menu.xml
new file mode 100644
index 0000000..2edc02b
--- /dev/null
+++ b/vdrmanager/res/menu-v11/recording_list_menu.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<!--
+ <item
+ android:id="@+id/epg_menu_search"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/epg_menu_search"/>
+-->
+<!--
+ <item
+ android:id="@+id/epg_menu_times"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/epg_menu_times"/>
+ -->
+
+ <item
+ android:id="@+id/menu_groupby" android:alphabeticShortcut="g"
+ android:icon="@android:drawable/ic_menu_sort_alphabetically"
+ android:showAsAction="ifRoom"
+ android:title="@string/menu_groupby"/>
+</menu> \ No newline at end of file
diff --git a/vdrmanager/res/menu-v11/timer_list_menu.xml b/vdrmanager/res/menu-v11/timer_list_menu.xml
new file mode 100644
index 0000000..fa00a26
--- /dev/null
+++ b/vdrmanager/res/menu-v11/timer_list_menu.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<!--
+ <item
+ android:id="@+id/epg_menu_search"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/epg_menu_search"/>
+-->
+<!-- -->
+ <item
+ android:id="@+id/timer_menu_add"
+ android:icon="@android:drawable/ic_menu_add"
+ android:alphabeticShortcut="a"
+ android:title="@string/epg_item_menu_timer_add"/>
+
+ <item
+ android:id="@+id/epg_list_menu_channels"
+ android:icon="@drawable/ic_menu_moreoverflow"
+ android:showAsAction="ifRoom"
+ android:title="@string/action_menu_channels"/>
+</menu> \ No newline at end of file
diff --git a/vdrmanager/res/menu/channellist.xml b/vdrmanager/res/menu/channellist.xml
new file mode 100644
index 0000000..c62dd18
--- /dev/null
+++ b/vdrmanager/res/menu/channellist.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android" >
+
+ <item
+ android:id="@+id/channels_recent_channels" android:alphabeticShortcut="r"
+ android:icon="@drawable/ic_menu_recent_history"
+ android:title="@string/recent_channels"/>
+
+ <item
+ android:id="@+id/channels_groupby" android:alphabeticShortcut="g"
+ android:icon="@android:drawable/ic_menu_sort_alphabetically"
+ android:title="@string/menu_groupby"/>
+
+</menu> \ No newline at end of file
diff --git a/vdrmanager/res/menu/recording_list_menu.xml b/vdrmanager/res/menu/recording_list_menu.xml
new file mode 100644
index 0000000..8b3e72d
--- /dev/null
+++ b/vdrmanager/res/menu/recording_list_menu.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<!--
+ <item
+ android:id="@+id/epg_menu_search"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/epg_menu_search"/>
+-->
+<!--
+ <item
+ android:id="@+id/epg_menu_times"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/epg_menu_times"/>
+ -->
+
+ <item
+ android:id="@+id/menu_groupby" android:alphabeticShortcut="g"
+ android:icon="@android:drawable/ic_menu_sort_alphabetically"
+ android:title="@string/menu_groupby"/>
+</menu> \ No newline at end of file
diff --git a/vdrmanager/res/menu/timer_list_menu.xml b/vdrmanager/res/menu/timer_list_menu.xml
new file mode 100644
index 0000000..93509ec
--- /dev/null
+++ b/vdrmanager/res/menu/timer_list_menu.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+<!--
+ <item
+ android:id="@+id/epg_menu_search"
+ android:icon="@android:drawable/ic_menu_search"
+ android:title="@string/epg_menu_search"/>
+-->
+<!-- -->
+ <item
+ android:id="@+id/timer_menu_add"
+ android:icon="@android:drawable/ic_menu_add"
+ android:alphabeticShortcut="a"
+ android:title="@string/epg_item_menu_timer_add"/>
+ <item
+ android:id="@+id/epg_list_menu_channels"
+ android:icon="@android:drawable/ic_menu_agenda"
+ android:title="@string/action_menu_channels"/>
+
+</menu> \ No newline at end of file
diff --git a/vdrmanager/res/values-it/strings.xml b/vdrmanager/res/values-it/strings.xml
index 3c73595..ad11824 100644
--- a/vdrmanager/res/values-it/strings.xml
+++ b/vdrmanager/res/values-it/strings.xml
@@ -1,47 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
+<!--Generated by crowdin.net-->
<resources>
-
- <string name="action_menu_channels">Canali</string>
+ <string name="action_menu_channels">Canali</string>
<string name="action_menu_timers">Timer</string>
<string name="action_menu_recordings">Registrazioni</string>
<string name="action_menu_epg">Elenco EPG</string>
<string name="action_menu_search">Ricerca EPG</string>
<string name="action_menu_wakeup">Accensione</string>
-
-
<string name="app_name">Gestore VDR</string>
-
-
<string name="channel_item_menu_epg">Mostra EPG</string>
<string name="channel_item_menu_stream">Mostra trasmissione</string>
<string name="channel_item_menu_hide">Nascondi</string>
<string name="channel_item_menu_hide_permanent">Nascondi sempre</string>
-
<string name="channel_group_menu_hide">Nascondi</string>
<string name="channel_group_menu_hide_permanent">Nascondi sempre</string>
-
<string name="menu_groupby">Ordina per</string>
<string name="groupby_group">Gruppo</string>
<string name="groupby_provider">Emittente</string>
<string name="groupby_name">Nome</string>
<string name="groupby_name_all_channels_group">Tutti i canali</string>
<string name="groupby_window_title_templte">Ordina per %1$s</string>
-
-
- <string name="common_delete">Elimina</string>
- <string name="prefs_current_value">Attuale:</string>
- <string name="prefs_current_value_template">\nAttuale: %1$s</string>
- <string name="prefs_current_value_not_set">&lt;non impostato></string>
- <string name="no_connection">Nessuna connessione</string>
- <string name="aborted">Connessione terminata.</string>
- <string name="no_connection_retry">Riprova</string>
- <string name="refresh">Aggiorna</string>
- <string name="done">Completato</string>
- <string name="share">Condividi</string>
- <string name="search_reapt">Riesegui</string>
- <string name="share_chooser">Condividi valore EPG</string>
- <string name="about_text">
- Info sul programma "Gestore VDR" per Android\n
+ <string name="common_delete">Elimina</string>
+ <string name="prefs_current_value">Attuale:</string>
+ <string name="prefs_current_value_template">\nAttuale: %1$s</string>
+ <string name="prefs_current_value_not_set">&lt;non impostato&gt;</string>
+ <string name="no_connection">Nessuna connessione</string>
+ <string name="aborted">Connessione terminata.</string>
+ <string name="no_connection_retry">Riprova</string>
+ <string name="refresh">Aggiorna</string>
+ <string name="done">Completato</string>
+ <string name="share">Condividi</string>
+ <string name="search_reapt">Riesegui</string>
+ <string name="share_chooser">Condividi valore EPG</string>
+ <string name="about_text">
+ Info sul programma \"Gestore VDR\" per Android\n
Questa è la versione %1$s\n
Se a casa disponi di una VDR raggiungibile
da Internet e possiedi un telefono cellulare che usa Android allora forse hai trovato l\'applicazione che fa per te.
@@ -52,16 +44,11 @@
Traduzione italiana:\n
Diego Pierotto
</string>
- <string name="about_title">Info</string>
-
- <string name="no_internet_connection">Nessuna connessione dati</string>
- <string name="update_will_start_in">L\'aggiornamento si avvierà tra qualche secondo</string>
-
-
-
+ <string name="about_title">Info</string>
+ <string name="no_internet_connection">Nessuna connessione dati</string>
+ <string name="update_will_start_in">L\'aggiornamento si avvierà tra qualche secondo</string>
<string name="epg_menu_search">Ricerca EPG</string>
<string name="epg_menu_times">Numero ricerche</string>
-
<string name="epg_item_menu_timer_add">Crea timer</string>
<string name="epg_item_menu_timer_delete">Elimina timer</string>
<string name="epg_item_menu_timer_modify">Modifica timer</string>
@@ -69,229 +56,159 @@
<string name="epg_item_menu_timer_disable">Disabilita timer</string>
<string name="epg_no_items">Nessun risultato trovato...</string>
<string name="epg_client_errors">Si è verificato un errore, verifica il registro...</string>
-
-
- <string name="navigae_at_the_end">Fine</string>
- <string name="navigae_at_the_start">Inizio</string>
-
+ <string name="navigae_at_the_end">Fine</string>
+ <string name="navigae_at_the_start">Inizio</string>
<string name="epg_search_times_add">Aggiungi numero</string>
<string name="epg_search_times_window">Numero personalizzato</string>
-
-
- <!-- What's on display -->
<string name="epg_list_time_label">In programmazione alle</string>
<string name="epg_list_time_now">In onda</string>
<string name="epg_list_time_next">Successivo</string>
<string name="epg_list_time_adhoc">Alle</string>
<string name="epg_list_channel_spinner">Canale</string>
<string name="epg_list_search_label">Ricerca risultati</string>
-
- <!-- create timer -->
<string name="epg_event_share_text">Condividi</string>
<string name="epg_event_imdb_text">Ricerca IMDb</string>
<string name="epg_event_omdb_text">Ricerca OMDB</string>
+ <string name="epg_event_tmdb_text">Ricerca TMDb</string>
<string name="epg_eent_livetv_text">Trasmissione</string>
<string name="epg_event_create_timer_text">Aggiungi timer</string>
<string name="epg_event_modify_timer_text">Modifica timer</string>
-
- <!-- search -->
<string name="epg_search_button">Cerca</string>
<string name="epg_duration_template">%1$s min</string>
<string name="epg_duration_template_live">%1$s/%2$s min</string>
- <string name="epg_of_a_channel">EPG -> %1$s, %2$s/%3$s</string>
+ <string name="epg_of_a_channel">EPG -&gt; %1$s, %2$s/%3$s</string>
<string name="epg_by_channel">EPG per canale</string>
<string name="epg_by_search">Ricerca EPG</string>
<string name="epg_by_search_param">Ricerca EPG: \'%1$s\'</string>
- <string name="epg_by_time">EPG per ora</string>
- <string name="epg_by_time_args">EPG per ora: \'%1$s\'</string>
+ <string name="epg_by_time">EPG per ora</string>
+ <string name="epg_by_time_args">EPG per ora: \'%1$s\'</string>
<string name="search_epg_hint">Ricerca EPG</string>
<string name="epg_search_settings_description">Ricerca EPG in VDR</string>
<string name="epg_window_title_count">%1$s, %2$s</string>
<string name="channels_window_title_count">%1$s, %2$s/%3$s</string>
<string name="new_timer">Nuovo timer</string>
-
-
<string name="vdr_error_text">La comunicazione con VDR ha causato un errore: %1$s</string>
-
- <string name="livetv">Trasmissione dal vivo</string>
- <string name="settings_livetv_summary">Sono necessari "streamdev-server" nella VDR e un riproduttore esterno come VPlayer</string>
- <string name="settings_livetv_streamformat">Formato trasmissione</string>
- <string name="settings_livetv_port">Porta trasmissione</string>
- <string name="settings_livetv_port_summary">Predefinita 3000. L\'accesso deve essere abilitato in "streamdevhosts.conf".</string>
- <string-array name="livetv_streamformat">
- <item>TS</item>
- <item>PES</item>
- <item>ES</item>
- <item>PS</item>
- </string-array>
- <string-array name="livetv_streamformat_values">
- <item>TS</item>
- <item>PES</item>
- <item>ES</item>
- <item>PS</item>
- </string-array>
- <string name="key_remux_enable">remux_enable</string>
- <string name="key_remux_command">remux_command</string>
- <string name="key_remux_parameter">remux_parameter</string>
-
- <string name="stream_via_as">Trasmissione</string>
- <string name="stream_via">tramite %s</string>
- <string name="stream_as">come %s</string>
- <string name="remux_title">Remux</string>
- <string name="remux_enable_title">Abilita Remux</string>
- <string name="remux_enable_summary">Abilita trasmissione tramite remux (es. externremux.sh)</string>
-
- <string name="remux_command_title">Comando</string>
- <string name="remux_command_summary">Di solito EXT o Extern (es. http://vdr:3000/Extern/1)</string>
-
- <string name="remux_parameter_title">Parametro</string>
- <string name="remux_parameter_summary">Controllo qualità trasmissione (es. http://vdr:3000/Extern;DSL1000/1)</string>
-
+ <string name="livetv">Trasmissione dal vivo</string>
+ <string name="settings_livetv_summary">Sono necessari \"streamdev-server\" nella VDR e un riproduttore esterno come VPlayer</string>
+ <string name="settings_livetv_streamformat">Formato trasmissione</string>
+ <string name="settings_livetv_port">Porta trasmissione</string>
+ <string name="settings_livetv_port_summary">Predefinita 3000. L\'accesso deve essere abilitato in \"streamdevhosts.conf\".</string>
+ <string name="key_remux_enable">remux_enable</string>
+ <string name="key_remux_command">remux_command</string>
+ <string name="key_remux_parameter">remux_parameter</string>
+ <string name="stream_via_as">Trasmissione</string>
+ <string name="stream_via">tramite %s</string>
+ <string name="stream_as">come %s</string>
+ <string name="remux_title">Remux</string>
+ <string name="remux_enable_title">Abilita Remux</string>
+ <string name="remux_enable_summary">Abilita trasmissione tramite remux (es. externremux.sh)</string>
+ <string name="remux_command_title">Comando</string>
+ <string name="remux_command_summary">Di solito EXT o Extern (es. http://vdr:3000/Extern/1)</string>
+ <string name="remux_parameter_title">Parametro</string>
+ <string name="remux_parameter_summary">Controllo qualità trasmissione (es. http://vdr:3000/Extern;DSL1000/1)</string>
<string name="main_menu_preferences">Impostazioni</string>
<string name="main_menu_info">Info</string>
<string name="main_menu_exit">Esci</string>
-
-
- <string name="vdr_devices_summary">Definisci uno o più dispositivi VDR (in arrivo)</string>
- <string name="vdr_devices">Dispositivi VDR</string>
-
- <!-- VDR plugin preferences -->
- <string name="vdr_preferences">Impostazioni rete</string>
- <string name="vdr_host_title">Nome sistema/IP</string>
- <string name="vdr_host_summary">Nome sistema o indirizzo IP della VDR in esecuzione</string>
- <string name="vdr_port_title">Porta plugin VDR</string>
- <string name="vdr_port_summary">Porta per connessioni al plugin di VDR</string>
- <string name="vdr_port_default">6420</string>
- <string name="vdr_password_title">Password plugin VDR</string>
- <string name="vdr_password_summary">Password per il plugin di VDR</string>
- <string name="vdr_ssl_title">Connessione sicura</string>
- <string name="vdr_ssl_summary">Usa SSL per le connessioni (al momento non supportato)</string>
-
- <!-- channel filter preferences -->
- <string name="channel_filter_preferences">Impostazioni canale</string>
- <string name="channel_filter_filter_title">Limita canali</string>
- <string name="channel_filter_filter_summary">Usa solo determinati canali</string>
- <string name="channel_filter_last_title">Filtro canale</string>
- <string name="channel_filter_last_summary">Numero di canali o sequenze separate da virgole (separatore \'-\'). Es. 1,2,4-10</string>
-
- <!-- wakeup -->
- <string name="wakeup_preferences">Accensione VDR da remoto</string>
- <string name="wakeup_enabled_title">Può accendere VDR da remoto</string>
- <string name="wakeup_enabled_summary">Abilita accensione VDR da remoto</string>
- <string name="wakeup_url_title">URL per accensione remota</string>
- <string name="wakeup_url_summary">URL per richiesta esecuzione accensione</string>
- <string name="wakeup_user_title">Utente accensione</string>
- <string name="wakeup_user_summary">Utente per accensione remota</string>
- <string name="wakeup_password_title">Password accensione</string>
- <string name="wakeup_password_summary">Password per accensione remota</string>
- <string name="wakeup_method_title">Metodo accensione</string>
- <string name="wakeup_method_summary">Scegli un metodo per accendere VDR</string>
-
- <string-array name="wakeup_methods">
- <item>Chiama URL</item>
- <item>WOL</item>
- </string-array>
- <string-array name="wakeup_methods_values">
- <item>url</item>
- <item>wol</item>
- </string-array>
-
- <string name="default_wakeup_method">url</string>
- <string name="wakeup_wol_custom_boradcast_title">Indirizzo IP destinazione</string>
- <string name="wakeup_wol_custom_boradcast_summary">A meno di non avere delle tabelle ARP statiche dovresti usare un indirizzo di broadcast.</string>
- <string name="wakeup_wol_mac_title">Indirizzo MAC</string>
- <string name="wakeup_wol_mac_summary">Indirizzo MAC di VDR. Usa \':\' o \'-\' o uno spazio come separatore.</string>
-
- <!-- timer -->
- <string name="timer_preferences">Valori predefiniti timer</string>
- <string name="timer_pre_start_buffer_title">Margine inizio</string>
- <string name="timer_pre_start_buffer_summary">Minuti di avvio registrazione prima dell\'inizio
+ <string name="main_menu_goto">Cambia dispositivo</string>
+ <string name="main_menu_goto_title">Passa a...</string>
+ <string name="main_menu_goto_no_vdr">Impossibile caricare il dispositivo selezionato</string>
+ <string name="main_menu_switched_to">Passato a %1$s</string>
+ <string name="vdr_devices_summary">Definisci uno o più dispositivi VDR (in arrivo)</string>
+ <string name="vdr_devices">Dispositivi VDR</string>
+ <string name="vdr_preferences">Impostazioni rete</string>
+ <string name="vdr_host_title">Nome sistema/IP</string>
+ <string name="vdr_host_summary">Nome sistema o indirizzo IP della VDR in esecuzione</string>
+ <string name="vdr_port_title">Porta plugin VDR</string>
+ <string name="vdr_port_summary">Porta per connessioni al plugin di VDR</string>
+ <string name="vdr_port_default">6420</string>
+ <string name="vdr_password_title">Password plugin VDR</string>
+ <string name="vdr_password_summary">Password per il plugin di VDR</string>
+ <string name="vdr_ssl_title">Connessione sicura</string>
+ <string name="vdr_ssl_summary">Usa SSL per le connessioni (al momento non supportato)</string>
+ <string name="channel_filter_preferences">Impostazioni canale</string>
+ <string name="channel_filter_filter_title">Limita canali</string>
+ <string name="channel_filter_filter_summary">Usa solo determinati canali</string>
+ <string name="channel_filter_last_title">Filtro canale</string>
+ <string name="channel_filter_last_summary">Numero di canali o sequenze separate da virgole (separatore \'-\'). Es. 1,2,4-10</string>
+ <string name="wakeup_preferences">Accensione VDR da remoto</string>
+ <string name="wakeup_enabled_title">Può accendere VDR da remoto</string>
+ <string name="wakeup_enabled_summary">Abilita accensione VDR da remoto</string>
+ <string name="wakeup_url_title">URL per accensione remota</string>
+ <string name="wakeup_url_summary">URL per richiesta esecuzione accensione</string>
+ <string name="wakeup_user_title">Utente accensione</string>
+ <string name="wakeup_user_summary">Utente per accensione remota</string>
+ <string name="wakeup_password_title">Password accensione</string>
+ <string name="wakeup_password_summary">Password per accensione remota</string>
+ <string name="wakeup_method_title">Metodo accensione</string>
+ <string name="wakeup_method_summary">Scegli un metodo per accendere VDR</string>
+ <string name="default_wakeup_method">url</string>
+ <string name="wakeup_wol_custom_boradcast_title">Indirizzo IP destinazione</string>
+ <string name="wakeup_wol_custom_boradcast_summary">A meno di non avere delle tabelle ARP statiche dovresti usare un indirizzo di broadcast.</string>
+ <string name="wakeup_wol_mac_title">Indirizzo MAC</string>
+ <string name="wakeup_wol_mac_summary">Indirizzo MAC di VDR. Usa \':\' o \'-\' o uno spazio come separatore.</string>
+ <string name="timer_preferences">Valori predefiniti timer</string>
+ <string name="timer_pre_start_buffer_title">Margine inizio</string>
+ <string name="timer_pre_start_buffer_summary">Minuti di avvio registrazione prima dell\'inizio
dell\'evento</string>
- <string name="timer_post_end_buffer_title">Margine fine</string>
- <string name="timer_post_end_buffer_summary">Minuti di fermo registrazione dopo la fine
+ <string name="timer_post_end_buffer_title">Margine fine</string>
+ <string name="timer_post_end_buffer_summary">Minuti di fermo registrazione dopo la fine
dell\'evento</string>
- <string name="timer_default_priority_title">Priorità predefinita</string>
- <string name="timer_default_priority_summary">Priorità predefinita</string>
- <string name="timer_default_primary_limit_title">Limite primario predefinito</string>
- <string name="timer_default_primary_limit_summary">Limite primario predefinito</string>
- <string name="timer_default_lifetime_title">Durata predefinita</string>
- <string name="timer_default_lifetime_summary">Durata predefinita</string>
-
- <!-- GUI -->
- <string name="gui_preferences">Impostazioni GUI</string>
- <string name="gui_enable_24h_format_title">Usa formato 24 ore</string>
- <string name="gui_enable_24h_format_summary_on">13:00</string>
- <string name="gui_enable_24h_format_summary_off">1:00 PM</string>
- <string name="gui_channels_show_channel_numbers_title">Mostra numero canali</string>
- <string name="gui_channels_show_channel_numbers_summary">Mostra il numero di canali nella lista canali</string>
- <string name="gui_quit_on_back_title">Esci con tasto Indietro</string>
- <string name="gui_quit_on_back_summary_on">Il tasto Indietro chiude VDR-Manager</string>
- <string name="gui_quit_on_back_summary_off">Il tasto Indietro non chiude VDR-Manager</string>
- <string name="qui_show_imdb_button_title">Mostra tasto IMDb</string>
- <string name="qui_show_imdb_button_summary_on">Mostra il tasto IMDb</string>
- <string name="qui_show_imdb_button_summary_off">Non mostrare il tasto IMDb</string>
- <string name="qui_show_omdb_button_title">Mostra tasto OMDB</string>
- <string name="qui_show_omdb_button_summary_on">Mostra il tasto OMDB</string>
- <string name="qui_show_omdb_button_summary_off">Non mostrare il tasto OMDB</string>
- <string name="qui_imdb_url_title">Sito IMDb</string>
- <string name="qui_imdb_url_summary">Sito IMDb da usare</string>
- <string name="gui_custom_locale_title">Lingua</string>
- <string name="gui_custom_locale_sum">Seleziona una lingua</string>
-
- <string-array name="imdb_urls">
- <item>akas.imdb.com</item>
- <item>imdb.com</item>
- <item>uk.imdb.com</item>
- <item>imdb.de</item>
- <item>imdb.es</item>
- <item>imdb.fr</item>
- <item>imdb.it</item>
- <item>imdb.pt</item>
- </string-array>
- <string-array name="imdb_urls_values">
- <item>Internazionale</item>
- <item>imdb.com</item>
- <item>uk.imdb.com</item>
- <item>imdb.de</item>
- <item>imdb.es</item>
- <item>imdb.fr</item>
- <item>imdb.it</item>
- <item>imdb.pt</item>
- </string-array>
- <string-array name="lang_values">
- <item>en</item>
- <item>de</item>
- <item>it</item>
- </string-array>
- <string-array name="lang">
- <!--
- <item>Default language</item>
- -->
- <item>Inglese</item>
- <item>Tedesco</item>
- <item>Italiano</item>
- </string-array>
-
- <string name="vdr_advanced_preferences">Avanzate</string>
- <string name="vdr_advanced_preferences_summary">Impostazioni avanzate</string>
-
- <string name="vdr_conntimeout_title">Durata connessione</string>
- <string name="vdr_conntimeout_sum">Tempo (in secondi) da aspettare prima che la connessione venga stabilita</string>
- <string name="vdr_readtimeout_title">Durata lettura</string>
- <string name="vdr_readtimeout_sum">Tempo (in secondi) da apsettare per ogni operazione di lettura</string>
- <string name="vdr_timeout_title">Durata totale</string>
- <string name="vdr_timeout_sum">Tempo (in secondi) da aspettare per un\'intera operazione di I/O prima di essere terminata</string>
-
- <string name="streaming_password_title">Password streamdev</string>
- <string name="streaming_password_sum">Imposta la password del server streamdev (es. -a \'nomeutente:password\')</string>
-
- <string name="streaming_username_title">Nome utente streamdev</string>
- <string name="streaming_username_sum">Imposta il nome utente del server streamdev (es. -a \'nomeutente:password\')</string>
-
- <string name="vdr_encoding_title">Codifica caratteri</string>
- <string name="vdr_encoding_summary">Codifica caratteri della VDR. Predefinito utf-8.</string>
-
- <!-- progress -->
+ <string name="timer_default_priority_title">Priorità predefinita</string>
+ <string name="timer_default_priority_summary">Priorità predefinita</string>
+ <string name="timer_default_primary_limit_title">Limite primario predefinito</string>
+ <string name="timer_default_primary_limit_summary">Limite primario predefinito</string>
+ <string name="timer_default_lifetime_title">Durata predefinita</string>
+ <string name="timer_default_lifetime_summary">Durata predefinita</string>
+ <string name="gui_preferences">Impostazioni GUI</string>
+ <string name="gui_enable_24h_format_title">Usa formato 24 ore</string>
+ <string name="gui_enable_24h_format_summary_on">13:00</string>
+ <string name="gui_enable_24h_format_summary_off">1:00 PM</string>
+ <string name="gui_channels_show_channel_numbers_title">Mostra numero canali</string>
+ <string name="gui_channels_show_channel_numbers_summary">Mostra il numero di canali nella lista canali</string>
+ <string name="gui_quit_on_back_title">Esci con tasto Indietro</string>
+ <string name="gui_quit_on_back_summary_on">Il tasto Indietro chiude VDR-Manager</string>
+ <string name="gui_quit_on_back_summary_off">Il tasto Indietro non chiude VDR-Manager</string>
+ <string name="qui_show_imdb_button_title">Mostra tasto IMDb</string>
+ <string name="qui_show_imdb_button_summary_on">Mostra il tasto IMDb</string>
+ <string name="qui_show_imdb_button_summary_off">Non mostrare il tasto IMDb</string>
+ <string name="qui_imdb_url_title">Sito IMDb</string>
+ <string name="qui_imdb_url_summary">Sito IMDb da usare</string>
+ <string name="qui_show_omdb_button_title">Mostra tasto OMDB</string>
+ <string name="qui_show_omdb_button_summary_on">Mostra il tasto OMDB</string>
+ <string name="qui_show_omdb_button_summary_off">Non mostrare il tasto OMDB</string>
+ <string name="qui_show_tmdb_button_title">Mostra tasto TMDb</string>
+ <string name="qui_show_tmdb_button_summary_on">Tasto TMDb visibile</string>
+ <string name="qui_show_tmdb_button_summary_off">Tasto TMDb non visibile</string>
+ <string name="gui_custom_locale_title">Lingua</string>
+ <string name="gui_custom_locale_sum">Seleziona una lingua</string>
+ <string name="vdr_advanced_preferences">Avanzate</string>
+ <string name="vdr_advanced_preferences_summary">Impostazioni avanzate</string>
+ <string name="vdr_conntimeout_title">Durata connessione</string>
+ <string name="vdr_conntimeout_sum">Tempo (in secondi) da aspettare prima che la connessione venga stabilita</string>
+ <string name="vdr_readtimeout_title">Durata lettura</string>
+ <string name="vdr_readtimeout_sum">Tempo (in secondi) da apsettare per ogni operazione di lettura</string>
+ <string name="vdr_timeout_title">Durata totale</string>
+ <string name="vdr_timeout_sum">Tempo (in secondi) da aspettare per un\'intera operazione di I/O prima di essere terminata</string>
+ <string name="streaming_password_title">Password streamdev</string>
+ <string name="streaming_password_sum">Imposta la password del server streamdev (es. -a \'nomeutente:password\')</string>
+ <string name="streaming_username_title">Nome utente streamdev</string>
+ <string name="streaming_username_sum">Imposta il nome utente del server streamdev (es. -a \'nomeutente:password\')</string>
+ <string name="vdr_encoding_title">Codifica caratteri</string>
+ <string name="vdr_encoding_summary">Codifica caratteri della VDR. Predefinito utf-8.</string>
+ <string name="new_vdr">Nuova VDR</string>
+ <string name="no_vdr">Nessun dispositivo VDR</string>
+ <string name="vdr_devices_category">Dispositivi VDR</string>
+ <string name="vdr_prefs_category">Dispositivo</string>
+ <string name="vdr_name_title">Nome</string>
+ <string name="vdr_name_summary">Nome del dispositivo</string>
+ <string name="vdr_device_delete_qeustion">Eliminare questo dispositivo?</string>
+ <string name="recstream">Trasmissione registrazioni</string>
+ <string name="recstream_enable_title">Trasmissione registrazioni</string>
+ <string name="recstream_enable_summary">Abilita trasmissione registrazioni</string>
+ <string name="recstream_method_title">Metodo trasmissione</string>
+ <string name="recstream_method_summary">La trasmissione tramite il plugin VDR Live è attualmente supportata</string>
+ <string name="settings_live_port">Porta plugin VDR Live</string>
+ <string name="settings_live_port_summary">Il plugin VDR Live usa la porta 8008 come predefinita.</string>
<string name="progress_connect">Connessione...</string>
<string name="progress_connect_error">Connessione fallita!</string>
<string name="progress_connect_timeout">Connessione scaduta!</string>
@@ -314,21 +231,48 @@
<string name="progress_connect_finished_abnormal">Connessione completata in modo anomalo</string>
<string name="progress_connect_finished_abnormal_arg">Connessione completata in modo anomalo: %1$s</string>
<string name="progress_cache_hit">Caricato dalla cache</string>
-
<string name="recording_item_menu_delete">Elimina</string>
<string name="recording_item_menu_stream">Trasmissione</string>
-
-
- <string name="timer_detail_title_title">Titolo:</string>
- <string name="timer_detail_channel_title">Canale:</string>
- <string name="timer_detail_start_title">Inizio:</string>
- <string name="timer_detail_end_title">Fine:</string>
-
- <string name="timer_details_create_title">Crea timer</string>
- <string name="timer_details_save_title">Salva modifiche</string>
- <string name="timer_details_delete_title">Elimina timer</string>
-
- <string name="timer_details_add_title">Crea nuovo timer</string>
- <string name="timer_details_modify_title">Modifica timer</string>
-
- </resources> \ No newline at end of file
+ <string name="recent_channels">Canali recenti</string>
+ <string name="recent_channels_no_history">Nessuna cronologia...</string>
+ <string name="gui_max_recent_channels_title">Numero massimo canali recenti</string>
+ <string name="gui_max_recent_channels_summary">Quanti canali vuoi conservare tra quelli recenti?</string>
+ <string-array name="livetv_streamformat">
+ <item>TS</item>
+ <item>PES</item>
+ <item>ES</item>
+ <item>PS</item>
+ </string-array>
+ <string-array name="livetv_streamformat_values">
+ <item>TS</item>
+ <item>PES</item>
+ <item>ES</item>
+ <item>PS</item>
+ </string-array>
+ <string-array name="wakeup_methods">
+ <item>Chiama URL</item>
+ <item>WOL</item>
+ </string-array>
+ <string-array name="imdb_urls">
+ <item>akas.imdb.com</item>
+ <item>imdb.com</item>
+ <item>uk.imdb.com</item>
+ <item>imdb.de</item>
+ <item>imdb.es</item>
+ <item>imdb.fr</item>
+ <item>imdb.it</item>
+ <item>imdb.pt</item>
+ </string-array>
+ <string-array name="lang">
+ <item>Inglese</item>
+ <item>Tedesco</item>
+ <item>Italiano</item>
+ </string-array>
+ <string-array name="remux_entries">
+ <item>EXT</item>
+ <item>EXTERN (deprecato)</item>
+ </string-array>
+ <string-array name="recstream_entries">
+ <item>Plugin VDR Live</item>
+ </string-array>
+</resources>
diff --git a/vdrmanager/res/values/preferences_keys.xml b/vdrmanager/res/values/preferences_keys.xml
index f79bf42..1b86bd6 100644
--- a/vdrmanager/res/values/preferences_keys.xml
+++ b/vdrmanager/res/values/preferences_keys.xml
@@ -52,4 +52,6 @@
<string name="vdr_conntimeout_key">key_conntimeout_key</string>
<string name="vdr_readtimeout_key">key_vdr_readtimeout</string>
<string name="vdr_timeout_key">key_vdr_timeout</string>
+
+ <string name="gui_max_recent_channels_key">key_gui_max_recent_channels</string>
</resources>
diff --git a/vdrmanager/res/values/strings.xml b/vdrmanager/res/values/strings.xml
index caa9a3c..f85fe60 100644
--- a/vdrmanager/res/values/strings.xml
+++ b/vdrmanager/res/values/strings.xml
@@ -18,6 +18,8 @@
<string name="groupby_group">Group</string>
<string name="groupby_provider">Provider</string>
<string name="groupby_name">Name</string>
+ <string name="groupby_channel">By Channel</string>
+ <string name="groupby_date">By Date</string>
<string name="groupby_name_all_channels_group">All Channels</string>
<string name="groupby_window_title_templte">Group by %1$s</string>
<string name="common_delete">Delete</string>
@@ -303,5 +305,8 @@
<string name="progress_cache_hit">Loaded from cache.</string>
<string name="recording_item_menu_delete">Delete</string>
<string name="recording_item_menu_stream">Stream</string>
-
+ <string name="recent_channels">Recent channels</string>
+ <string name="recent_channels_no_history">No history…</string>
+ <string name="gui_max_recent_channels_title">Max. recent channels</string>
+ <string name="gui_max_recent_channels_summary">How many channels should be kept in the recent channels?</string>
</resources> \ No newline at end of file
diff --git a/vdrmanager/res/xml/preferences.xml b/vdrmanager/res/xml/preferences.xml
index c92b1fa..8a819dd 100644
--- a/vdrmanager/res/xml/preferences.xml
+++ b/vdrmanager/res/xml/preferences.xml
@@ -20,12 +20,21 @@
android:summary="@string/gui_channels_show_channel_numbers_summary"
android:title="@string/gui_channels_show_channel_numbers_title" />
+
+ <EditTextPreference android:defaultValue="10"
+ android:key="@string/gui_max_recent_channels_key" android:inputType="number"
+ android:summary="@string/gui_max_recent_channels_summary"
+ android:title="@string/gui_max_recent_channels_title" />
+
+
<CheckBoxPreference android:key="@string/gui_enable_24h_format_key"
android:defaultValue="true"
android:summaryOff="@string/gui_enable_24h_format_summary_off"
android:summaryOn="@string/gui_enable_24h_format_summary_on"
android:title="@string/gui_enable_24h_format_title" />
+
+
<CheckBoxPreference android:defaultValue="true"
android:key="@string/qui_show_imdb_button_key" android:summaryOff="@string/qui_show_imdb_button_summary_off"
android:summaryOn="@string/qui_show_imdb_button_summary_on"
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/StringUtils.java b/vdrmanager/src/de/bjusystems/vdrmanager/StringUtils.java
index 18e1d88..b440055 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/StringUtils.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/StringUtils.java
@@ -1,3 +1,4 @@
+
package de.bjusystems.vdrmanager;
import java.util.ArrayList;
@@ -10,6 +11,9 @@ public class StringUtils {
* An empty immutable <code>String</code> array.
*/
public static final String[] EMPTY_STRING_ARRAY = new String[0];
+
+
+ public static final String EMPTY_STRING = "";
/**
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/app/VdrManagerApp.java b/vdrmanager/src/de/bjusystems/vdrmanager/app/VdrManagerApp.java
index d2b5e3f..29b0691 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/app/VdrManagerApp.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/app/VdrManagerApp.java
@@ -6,6 +6,7 @@ import java.util.Locale;
import android.app.Activity;
import android.app.Application;
+
import de.bjusystems.vdrmanager.data.Channel;
import de.bjusystems.vdrmanager.data.EpgSearchParams;
import de.bjusystems.vdrmanager.data.Event;
@@ -14,6 +15,7 @@ import de.bjusystems.vdrmanager.data.Timer;
import de.bjusystems.vdrmanager.data.Vdr;
import de.bjusystems.vdrmanager.gui.Cache;
+
public class VdrManagerApp extends Application {
public enum EpgListState {
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/data/Channel.java b/vdrmanager/src/de/bjusystems/vdrmanager/data/Channel.java
index e67e93b..02e9cc7 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/data/Channel.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/data/Channel.java
@@ -118,6 +118,10 @@ public class Channel implements Parcelable {
if(o instanceof Channel == false){
return false;
}
+ if(o == this){
+ return true;
+ }
+
return number == ((Channel)o).getNumber();
};
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/data/Preferences.java b/vdrmanager/src/de/bjusystems/vdrmanager/data/Preferences.java
index aa70a32..88156cd 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/data/Preferences.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/data/Preferences.java
@@ -10,6 +10,7 @@ import android.content.res.Configuration;
import android.text.TextUtils;
import android.widget.Toast;
import de.bjusystems.vdrmanager.R;
+import de.bjusystems.vdrmanager.StringUtils;
import de.bjusystems.vdrmanager.app.Intents;
import de.bjusystems.vdrmanager.data.db.OrmDatabaseHelper;
import de.bjusystems.vdrmanager.gui.VdrListActivity;
@@ -35,19 +36,22 @@ public class Preferences {
}
public static void setCurrentVdr(Context context, Vdr vdr) {
- final SharedPreferences sharedPrefs = getSharedPreferences(context);
current = vdr;
+ final SharedPreferences sharedPrefs = getSharedPreferences(context);
sharedPrefs
.edit()
.putInt(context.getString(R.string.current_vdr_id_key),
- current.getId()).commit();
+ current != null ? current.getId() : -1 ).commit();
}
-
public Vdr getCurrentVdr() {
return current;
}
+ public int getCurrentVdrContext(Context context){
+ return getInteger(context, R.string.current_vdr_id_key, -1);
+ }
+
/** user defined epg search times */
private String epgSearchTimes;
/**
@@ -77,7 +81,12 @@ public class Preferences {
*/
private boolean showTmdbButton = false;
-
+ private int maxRecentChannels = 10;
+
+ public int getMaxRecentChannels() {
+ return maxRecentChannels;
+ }
+
public boolean isShowTmdbButton() {
return showTmdbButton;
}
@@ -207,7 +216,11 @@ public class Preferences {
* @return SVDRO password
*/
public String getPassword() {
- return getCurrentVdr().getPassword();
+ String pwd = getCurrentVdr().getPassword();
+ if (pwd == null) {
+ return StringUtils.EMPTY_STRING;
+ }
+ return pwd;
}
/**
@@ -216,7 +229,7 @@ public class Preferences {
* @return true, if remote wakeup is enabled
*/
public boolean isWakeupEnabled() {
- return getCurrentVdr().isWakeupEnabled();
+ return getCurrentVdr().isWakeupEnabled();
}
/**
@@ -254,15 +267,15 @@ public class Preferences {
public boolean isAliveCheckEnabled() {
return getCurrentVdr().isAliveCheckEnabled();
}
-
- public boolean isEnableRecStream(){
+
+ public boolean isEnableRecStream() {
return getCurrentVdr().isEnableRecStreaming();
}
- public int getLivePort(){
+ public int getLivePort() {
return getCurrentVdr().getLivePort();
}
-
+
/**
* Gets the time between alive checks
*
@@ -459,8 +472,8 @@ public class Preferences {
prefs.epgSearchTimes = getString(context,
R.string.epg_search_times_key, "");
- prefs.use24hFormat = getBoolean(context,
- R.string.gui_enable_24h_format_key, true);
+ prefs.use24hFormat = getBoolean(context,
+ R.string.gui_enable_24h_format_key, true);
prefs.showChannelNumbers = getBoolean(context,
R.string.gui_channels_show_channel_numbers_key, false);
@@ -474,21 +487,64 @@ public class Preferences {
prefs.showOmdbButton = getBoolean(context,
R.string.qui_show_omdb_button_key, true);
-
prefs.showTmdbButton = getBoolean(context,
R.string.qui_show_tmdb_button_key, true);
+ prefs.imdbUrl = getString(context, R.string.qui_imdb_url_key,
+ "akas.imdb.com");
+
+ prefs.maxRecentChannels = getInt(context,
+ R.string.gui_max_recent_channels_key, 10);
- prefs.imdbUrl = getString(context, R.string.qui_imdb_url_key, "akas.imdb.com");
-
thePrefs = prefs;
}
public static void reset() {
thePrefs = null;
}
-
+
+ public static void reloadVDR() {
+ if (current == null) {
+ return;
+ }
+ db.getVdrDAO().refresh(current);
+ }
+
+ public static boolean initVDR(final Context context) {
+ if (current != null) {
+ return true;
+ }
+
+ int id = getInteger(context, R.string.current_vdr_id_key, -1);
+
+ Vdr vdr = null;
+ if (id != -1) {
+ vdr = db.getVdrDAO().queryForId(id);
+ }
+
+ setCurrentVdr(context, vdr);
+
+ if (vdr != null) {
+ return true;
+ }
+
+ List<Vdr> list = db.getVdrDAO().queryForAll();
+ if (list != null && list.isEmpty() == false) {
+ vdr = list.get(0);
+ setCurrentVdr(context, vdr);
+ return true;
+ }
+
+ return initFromOldVersion(context);
+ //Intent intent = new Intent();
+ //intent.setClass(context, VdrListActivity.class);
+ //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ //intent.putExtra(Intents.EMPTY_CONFIG, Boolean.TRUE);
+ //context.startActivity(intent);
+ //Toast.makeText(context, R.string.no_vdr, Toast.LENGTH_SHORT).show();
+ }
+
/**
* Loads all preferences
*
@@ -511,40 +567,6 @@ public class Preferences {
initInternal(context);
setLocale(context);
}
-
- // if (current != null) {
- // return;
- // }
-
- final SharedPreferences sharedPrefs = getSharedPreferences(context);
- int id = sharedPrefs.getInt(
- context.getString(R.string.current_vdr_id_key), -1);
-
- Vdr vdr = null;
- if (id != -1) {
- vdr = db.getVdrDAO().queryForId(id);
- }
-
- if (vdr != null) {
- setCurrentVdr(context, vdr);
- return;
- }
-
- List<Vdr> list = db.getVdrDAO().queryForAll();
- if (list != null && list.isEmpty() == false) {
- vdr = list.get(0);
- setCurrentVdr(context, vdr);
- return;
- }
- if (initFromOldVersion(context) == false) {
- Intent intent = new Intent();
- intent.setClass(context, VdrListActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.putExtra(Intents.EMPTY_CONFIG, Boolean.TRUE);
- context.startActivity(intent);
- Toast.makeText(context, R.string.no_vdr, Toast.LENGTH_SHORT).show();
- }
-
}
private static boolean initFromOldVersion(Context context) {
@@ -552,7 +574,7 @@ public class Preferences {
Vdr vdr = new Vdr();
String host = getString(context, R.string.vdr_host_key, null);
- if(host == null){
+ if (host == null) {
return false;
}
vdr.setHost(host);
@@ -649,7 +671,7 @@ public class Preferences {
private static int getInt(final Context context, final int resId,
final int defValue) {
final String value = getString(context, resId, String.valueOf(defValue));
- if(TextUtils.isEmpty(value) || !TextUtils.isDigitsOnly(value)){
+ if (TextUtils.isEmpty(value) || !TextUtils.isDigitsOnly(value)) {
return 0;
}
return Integer.parseInt(value);
@@ -689,6 +711,12 @@ public class Preferences {
return sharedPrefs.getString(context.getString(resId), defValue);
}
+ private static int getInteger(final Context context, final int resId,
+ final int defValue) {
+ final SharedPreferences sharedPrefs = getSharedPreferences(context);
+ return sharedPrefs.getInt(context.getString(resId), defValue);
+ }
+
public String getTimeFormat() {
if (isUse24hFormat()) {
return "HH:mm";
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/data/Timer.java b/vdrmanager/src/de/bjusystems/vdrmanager/data/Timer.java
index 2d5eb8d..0c8ce4e 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/data/Timer.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/data/Timer.java
@@ -85,6 +85,7 @@ public class Timer extends Event implements Timerable{
t.lifetime = lifetime;
t.start = new Date(start.getTime());
t.stop = new Date(stop.getTime());
+ t.title = title;
return t;
}
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/data/Vdr.java b/vdrmanager/src/de/bjusystems/vdrmanager/data/Vdr.java
index 8dd150f..fa16e69 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/data/Vdr.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/data/Vdr.java
@@ -38,11 +38,11 @@ public class Vdr {
/** should channels be filtered? */
@DatabaseField
- private boolean filterChannels;
+ private boolean filterChannels = false;
/** last channel to retrieve */
@DatabaseField
- private String channelFilter;
+ private String channelFilter = "";
/** Enable remote wakeup */
@DatabaseField
@@ -481,6 +481,18 @@ public class Vdr {
return (T) map.get(key);
}
+ private static Integer getInteger(Map<String, Object> map, String key, Integer def) {
+ if (map.containsKey(key) == false) {
+ return def;
+ }
+
+ Object obj = get(map, key);
+ if (obj instanceof Integer) {
+ return (Integer) obj;
+ }
+ return Integer.valueOf(String.valueOf(obj));
+ }
+
private static Integer getInteger(Map<String, Object> map, String key) {
if (map.containsKey(key) == false) {
return Integer.valueOf(0);
@@ -528,7 +540,7 @@ public class Vdr {
map.put("key_vdr_timeout", timeout);
map.put("timer_pre_start_buffer", timerPreMargin);
- map.put("timer_post_end_buffer", timerPreMargin);
+ map.put("timer_post_end_buffer", timerPostMargin);
map.put("timer_default_priority", timerDefaultPriority);
map.put("timer_default_lifetime", timerDefaultLifetime);
@@ -568,8 +580,8 @@ public class Vdr {
readTimeout = getInteger(map, "key_vdr_readtimeout");
timeout = getInteger(map, "key_vdr_timeout");
- timerPreMargin = getInteger(map, "timer_pre_start_buffer");
- timerPreMargin = getInteger(map, "timer_post_end_buffer");
+ timerPreMargin = getInteger(map, "timer_pre_start_buffer", 5);
+ timerPostMargin = getInteger(map, "timer_post_end_buffer", 30);
timerDefaultPriority = getInteger(map, "timer_default_priority");
timerDefaultLifetime = getInteger(map, "timer_default_lifetime");
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/data/db/OrmDatabaseHelper.java b/vdrmanager/src/de/bjusystems/vdrmanager/data/db/OrmDatabaseHelper.java
index 55f8314..ab4a0ed 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/data/db/OrmDatabaseHelper.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/data/db/OrmDatabaseHelper.java
@@ -9,7 +9,6 @@ import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
-import android.util.Pair;
import com.j256.ormlite.android.AndroidCompiledStatement;
import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java
index c88ba8c..39f03b3 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseActivity.java
@@ -4,6 +4,7 @@ import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
+import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -193,11 +194,13 @@ public abstract class BaseActivity<Result, T extends ListView> extends ICSBaseAc
// }
protected void say(int res) {
- Toast.makeText(this, res, Toast.LENGTH_SHORT).show();
+ say(this.getString(res));
}
protected void say(String msg) {
- Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
+ Toast t = Toast.makeText(this, msg, Toast.LENGTH_SHORT);
+ t.setGravity(Gravity.CENTER, 0, 0);
+ t.show();
}
protected boolean noConnection(SvdrpEvent event) {
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseEventListActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseEventListActivity.java
index 7a0f1e8..37b34d3 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseEventListActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseEventListActivity.java
@@ -80,12 +80,10 @@ public abstract class BaseEventListActivity<T extends Event> extends
// .getParcelableExtra(Intents.CURRENT_CHANNEL);
}
- private boolean refreshViewOnResume = false;
-
@Override
protected void onResume() {
super.onResume();
- if (refreshViewOnResume) {
+ if (notifyDataSetChangedOnResume()) {
adapter.notifyDataSetChanged();
}
}
@@ -235,10 +233,13 @@ public abstract class BaseEventListActivity<T extends Event> extends
TimerDetailsActivity.REQUEST_CODE_TIMER_MODIFIED);
}
+ protected boolean notifyDataSetChangedOnResume(){
+ return true;
+ }
+
@Override
protected void onPause() {
super.onPause();
- refreshViewOnResume = true;
// if (epgClient != null) {
// epgClient.abort();
// }
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseTimerEditActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseTimerEditActivity.java
index dea64c4..313bf1a 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseTimerEditActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/BaseTimerEditActivity.java
@@ -108,8 +108,8 @@ public abstract class BaseTimerEditActivity<T extends Event> extends
return;
}
- final EventFormatter formatter = new EventFormatter(item);
- menu.setHeaderTitle(formatter.getTitle());
+ //final EventFormatter formatter = new EventFormatter(item);
+ menu.setHeaderTitle(item.getTitle());
inflater.inflate(R.menu.epg_list_item_menu, menu);
Timer timer = getTimer(item);
@@ -195,6 +195,10 @@ public abstract class BaseTimerEditActivity<T extends Event> extends
//worker.schedule(task, 1000, TimeUnit.MILLISECONDS);
}
+ @Override
+ protected void onResume() {
+ super.onResume();
+ }
/*
* (non-Javadoc)
*
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/ChannelListActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/ChannelListActivity.java
index f1ddc70..ee67b90 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/ChannelListActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/ChannelListActivity.java
@@ -2,11 +2,16 @@ package de.bjusystems.vdrmanager.gui;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
+import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.ContextMenu;
@@ -15,14 +20,18 @@ import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
+import android.view.ViewGroup;
import android.view.inputmethod.InputMethodManager;
+import android.widget.ArrayAdapter;
import android.widget.ExpandableListView;
import android.widget.ExpandableListView.ExpandableListContextMenuInfo;
import android.widget.ExpandableListView.OnChildClickListener;
import android.widget.ExpandableListView.OnGroupClickListener;
+import android.widget.TextView;
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.data.Channel;
import de.bjusystems.vdrmanager.data.Preferences;
+import de.bjusystems.vdrmanager.tasks.VoidAsyncTask;
import de.bjusystems.vdrmanager.utils.svdrp.ChannelClient;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpAsyncTask;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpClient;
@@ -44,6 +53,8 @@ public class ChannelListActivity extends
Preferences prefs;
+ private static final LinkedList<Channel> RECENT = new LinkedList<Channel>();
+
public static final int MENU_GROUP = 0;
public static final int MENU_PROVIDER = 1;
public static final int MENU_NAME = 2;
@@ -107,6 +118,61 @@ public class ChannelListActivity extends
task.run();
}
+ static RecentChannelsAdapter RECENT_ADAPTER = null;
+
+
+ static class RecentChannelsAdapter extends ArrayAdapter<Channel>{
+ private Activity context;
+ int resId;
+
+ public RecentChannelsAdapter(Activity context, List<Channel> list) {
+ super(context, android.R.layout.simple_list_item_1, list);
+ this.context = context;
+ showChannelNumbers = Preferences.get().isShowChannelNumbers();
+
+ if (Build.VERSION.SDK_INT < 11) {
+ resId = android.R.layout.select_dialog_item;
+ } else {
+ resId = android.R.layout.simple_list_item_1;
+ }
+ }
+
+ public boolean showChannelNumbers;
+
+ public View getView(int position, View convertView, ViewGroup parent) {
+ // recycle view?
+ TextView text1;
+ View view = convertView;
+ if (view == null) {
+ view = this.context.getLayoutInflater().inflate(
+ resId, null);
+ text1 = (TextView) view.findViewById(android.R.id.text1);
+ view.setTag(text1);
+ } else {
+ text1 = (TextView) view.getTag();
+ }
+
+ Channel c = getItem(position);
+ String text = showChannelNumbers ? text = c.toString() : c.getName();
+ text1.setText(text);
+ return view;
+
+ }
+ }
+
+ private ArrayAdapter<Channel> getRecentAdapter() {
+ if (RECENT_ADAPTER != null)
+ {
+ RECENT_ADAPTER.showChannelNumbers = Preferences.get().isShowChannelNumbers();
+ RECENT_ADAPTER.notifyDataSetChanged();
+ return RECENT_ADAPTER;
+ }
+
+ RECENT_ADAPTER = new RecentChannelsAdapter(this, RECENT);
+ return RECENT_ADAPTER;
+
+ }
+
@Override
public void reset() {
channelClient.clearCache();
@@ -157,10 +223,9 @@ public class ChannelListActivity extends
public final boolean onCreateOptionsMenu(final Menu menu) {
super.onCreateOptionsMenu(menu);
- MenuItem item;
- item = menu.add(MENU_GROUP, MENU_GROUP, 0, R.string.menu_groupby);
- item.setIcon(android.R.drawable.ic_menu_sort_alphabetically);
- item.setAlphabeticShortcut('g');
+ final MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.channellist, menu);
+
return true;
}
@@ -180,7 +245,7 @@ public class ChannelListActivity extends
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
- case MENU_GROUP:
+ case R.id.channels_groupby:
// case MENU_PROVIDER:
// case MENU_NAME:
if (groupByDialog == null) {
@@ -201,6 +266,29 @@ public class ChannelListActivity extends
groupByDialog.show();
return true;
+ case R.id.channels_recent_channels:
+ if (RECENT.isEmpty()) {
+ say(R.string.recent_channels_no_history);
+ return true;
+ }
+
+ if(Preferences.get().getMaxRecentChannels() <= 0){
+ RECENT.clear();
+ say(R.string.recent_channels_no_history);
+ return true;
+ }
+
+ new AlertDialog.Builder(this)
+ .setTitle(R.string.recent_channels)
+ .setAdapter(getRecentAdapter(), new DialogInterface.OnClickListener() {
+
+ public void onClick(DialogInterface dialog, int which) {
+ Channel c = RECENT.get(which);
+ startChannelEPG(c);
+ }
+ })//
+ .create().show();
+ return true;
default:
return super.onOptionsItemSelected(item);
}
@@ -226,12 +314,11 @@ public class ChannelListActivity extends
inflater.inflate(R.menu.channel_list_item_menu, menu);
} else if (type == ExpandableListView.PACKED_POSITION_TYPE_GROUP) {
/*
- * http://projects.vdr-developer.org/issues/722
- String grp = adapter.getGroup(group);
- final MenuInflater infl = getMenuInflater();
- menu.setHeaderTitle(grp);
- infl.inflate(R.menu.channel_list_group_menu, menu);
- */
+ * http://projects.vdr-developer.org/issues/722 String grp =
+ * adapter.getGroup(group); final MenuInflater infl =
+ * getMenuInflater(); menu.setHeaderTitle(grp);
+ * infl.inflate(R.menu.channel_list_group_menu, menu);
+ */
}
}
@@ -262,10 +349,10 @@ public class ChannelListActivity extends
Utils.stream(this, channel);
break;
case R.id.channel_item_menu_hide:
- //TODO http://projects.vdr-developer.org/issues/722
+ // TODO http://projects.vdr-developer.org/issues/722
break;
case R.id.channel_item_menu_hide_permanent:
- //TODO http://projects.vdr-developer.org/issues/722
+ // TODO http://projects.vdr-developer.org/issues/722
break;
}
@@ -293,7 +380,33 @@ public class ChannelListActivity extends
return true;
}
- private void startChannelEPG(Channel channel) {
+ private void startChannelEPG(final Channel channel) {
+ new VoidAsyncTask() {
+
+ @Override
+ protected Void doInBackground(Void... arg0) {
+ int max = Preferences.get().getMaxRecentChannels();
+ if(max <= 0){
+ return null;
+ }
+ Iterator<Channel> i = RECENT.iterator();
+ while (i.hasNext()) {
+ Channel c = i.next();
+ if (c.equals(channel)) {
+ i.remove();
+ break;
+ }
+ }
+
+ if (RECENT.size() >= Preferences.get().getMaxRecentChannels()) {
+ RECENT.removeLast();
+
+ }
+ RECENT.addFirst(channel);
+ return (Void) null;
+ }
+ }.execute((Void) null);
+ // for(int i = 0; i < recent)
// find and remember item
// final Channel channel = adapter.getItem(position);
// final VdrManagerApp app = (VdrManagerApp) getApplication();
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/ICSBaseActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/ICSBaseActivity.java
index 9f4f2b1..39047ff 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/ICSBaseActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/ICSBaseActivity.java
@@ -13,6 +13,9 @@ public abstract class ICSBaseActivity extends Activity{
}
ActionBar actionBar = getActionBar();
+ if(actionBar == null){
+ return;
+ }
//this is since 14 enabled
actionBar.setHomeButtonEnabled(true);
}
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/RecordingListActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/RecordingListActivity.java
index 3a9351c..64faf73 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/RecordingListActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/RecordingListActivity.java
@@ -2,6 +2,7 @@ package de.bjusystems.vdrmanager.gui;
import java.util.Calendar;
+import android.content.ClipData.Item;
import android.os.Bundle;
import android.util.Log;
import android.view.ContextMenu;
@@ -81,25 +82,31 @@ public class RecordingListActivity extends BaseEventListActivity<Recording>
public void onCreateContextMenu(final ContextMenu menu, final View v,
final ContextMenuInfo menuInfo) {
+ final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
+ final EventListItem item = adapter.getItem(info.position);
+ if(item.isHeader()){
+ return;
+ }
+
if (v.getId() == R.id.recording_list) {
final MenuInflater inflater = getMenuInflater();
- final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
-
// set menu title
- final EventListItem item = adapter.getItem(info.position);
- if(item.isHeader()){
- return;
- }
final EventFormatter formatter = new EventFormatter(item);
menu.setHeaderTitle(formatter.getTitle());
inflater.inflate(R.menu.recording_list_item_menu, menu);
if(Preferences.get().isEnableRecStream() == false){
menu.removeItem(R.id.recording_item_menu_stream);
- }
+ }
}
+
super.onCreateContextMenu(menu, v, menuInfo);
+ //
+// http://projects.vdr-developer.org/issues/863
+ if(Utils.isLive(item)){
+ menu.removeItem(R.id.epg_item_menu_live_tv);
+ }
}
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java
index c085442..599d18d 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java
@@ -178,11 +178,13 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
break;
}
case R.id.timer_details_modify:
+ timer.setTitle(tView.title.getText().toString());
modifyTimer(timer);
//say(R.string.done);
break;
case R.id.timer_details_save: {
+ timer.setTitle(tView.title.getText().toString());
createTimer(timer);
//say(R.string.done);
break;
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerListActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerListActivity.java
index cc2c431..abb4d7f 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerListActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/TimerListActivity.java
@@ -2,8 +2,11 @@ package de.bjusystems.vdrmanager.gui;
import java.util.Calendar;
+import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import de.bjusystems.vdrmanager.R;
@@ -145,6 +148,10 @@ public class TimerListActivity extends BaseTimerEditActivity<Timer> implements
}
@Override
+ protected boolean notifyDataSetChangedOnResume() {
+ return true;
+ }
+ @Override
protected String getWindowTitle() {
return getString(R.string.action_menu_timers);
}
@@ -164,11 +171,43 @@ public class TimerListActivity extends BaseTimerEditActivity<Timer> implements
refresh();
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * de.bjusystems.vdrmanager.gui.BaseActivity#onOptionsItemSelected(android
+ * .view.MenuItem)
+ */
+ public boolean onOptionsItemSelected(final MenuItem item) {
+
+ switch(item.getItemId()){
+ case R.id.timer_menu_add:
+ say("Comming soon...");
+ return true;
+ }
+
+ // switch (item.getItemId()) {
+ // case R.id.epg_menu_search:
+ // startSearchManager();
+ // super.onSearchRequested();
+ // break;
+ // case R.id.epg_menu_times:
+ // intent = new Intent();
+ // /intent.setClass(this, EpgSearchTimesListActivity.class);
+ // startActivity(intent);
+ // break;
+ // }
+ return super.onOptionsItemSelected(item);
+ }
+
public boolean onCreateOptionsMenu(final Menu menu) {
// MenuItem item;
//item = menu.add(MENU_GROUP_NEW_TIMER, MENU_NEW_TIMER, 0, R.string.new_timer);
//item.setIcon(android.R.drawable.ic_menu_add);;
// /item.setAlphabeticShortcut('r');
+
+ final MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.timer_list_menu, menu);
return super.onCreateOptionsMenu(menu);
}
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/Utils.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/Utils.java
index bccff8c..8b95bf4 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/Utils.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/Utils.java
@@ -37,6 +37,9 @@ public class Utils {
public static final String TAG = Utils.class.getName();
public static final List EMPTY_LIST = new ArrayList(0);
+
+ public static final String[] EMPTY = new String[] {};
+
public static final ForegroundColorSpan HIGHLIGHT_TEXT = new ForegroundColorSpan(
Color.RED);
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrListActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrListActivity.java
index 8f8d67d..7619d77 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrListActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrListActivity.java
@@ -1,22 +1,34 @@
package de.bjusystems.vdrmanager.gui;
+import java.util.ArrayList;
+import java.util.List;
+
import android.app.AlertDialog;
+import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
+import android.graphics.Typeface;
import android.os.Bundle;
+import android.text.SpannableString;
+import android.text.style.UnderlineSpan;
import android.util.Log;
import android.view.View;
+import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemLongClickListener;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
import android.widget.SimpleCursorAdapter;
+import android.widget.TextView;
import com.j256.ormlite.android.apptools.OrmLiteBaseListActivity;
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.app.Intents;
import de.bjusystems.vdrmanager.data.Preferences;
+import de.bjusystems.vdrmanager.data.Vdr;
import de.bjusystems.vdrmanager.data.db.OrmDatabaseHelper;
public class VdrListActivity extends OrmLiteBaseListActivity<OrmDatabaseHelper>
@@ -24,33 +36,40 @@ public class VdrListActivity extends OrmLiteBaseListActivity<OrmDatabaseHelper>
private static final String TAG = VdrListActivity.class.getName();
- SimpleCursorAdapter adapter = null;
+ List<Vdr> list = new ArrayList<Vdr>();
+
+ ArrayAdapter<Vdr> adapter = null;
- Cursor cursor;
+ //Cursor cursor;
String[] listItems = {};
private boolean emptyConfig = false;
- private void initCursor() {
-
- //if (cursor != null) {
- //if (!cursor.isClosed()) {
- //cursor.close();
-// }
- //}
- try {
- cursor = getHelper().getVdrCursor();
- startManagingCursor(cursor);
- } catch (Exception ex) {
- Log.w(TAG,ex);
- }
- }
+// private void initCursor() {
+//
+// //if (cursor != null) {
+// //if (!cursor.isClosed()) {
+// //cursor.close();
+//// }
+// //}
+// try {
+// cursor = getHelper().getVdrCursor();
+// //startManagingCursor(cursor);
+// } catch (Exception ex) {
+// Log.w(TAG,ex);
+// }
+// }
private void populateIntent(){
emptyConfig = getIntent().getBooleanExtra(Intents.EMPTY_CONFIG, Boolean.FALSE);
}
+ static class Holder{
+ public TextView text1;
+ public TextView text2;
+ }
+
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
@@ -67,11 +86,74 @@ public class VdrListActivity extends OrmLiteBaseListActivity<OrmDatabaseHelper>
}
});
- initCursor();
- adapter = new SimpleCursorAdapter(this,
- android.R.layout.simple_list_item_2, cursor, new String[] {
- "name", "host" }, new int[] { android.R.id.text1,
- android.R.id.text2 });
+// initCursor();
+ final Vdr cur = Preferences.get().getCurrentVdr();
+ adapter = new ArrayAdapter<Vdr>(this, android.R.layout.simple_list_item_2 , list) {
+
+ @Override
+ public View getView(int position, View convertView, ViewGroup parent) {
+ // recycle view?
+ Holder holder = null;
+ View view = convertView;
+ if (view == null) {
+ view = getLayoutInflater().inflate(android.R.layout.simple_list_item_2, null);
+ holder = new Holder();
+
+ holder.text1 = (TextView)view.findViewById(android.R.id.text1);
+ holder.text2 = (TextView)view.findViewById(android.R.id.text2);
+ view.setTag(holder);
+ } else {
+ holder = (Holder) view.getTag();
+ }
+
+ Vdr vdr = getItem(position);
+ String name = vdr.getName();
+ String host = vdr.getHost();
+ holder.text2.setText(host);
+
+ if(cur != null && cur.getId() == vdr.getId()) {
+ SpannableString content = new SpannableString(name);
+ content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
+ holder.text1.setText(content);
+ //text1.setText(text1.getText());
+ } else {
+ holder.text1.setTypeface(Typeface.DEFAULT);
+ holder.text1.setText(name);
+ }
+ return view;
+ }
+
+
+ };
+
+ //adapter = new ArrayAdapter<Vdr>(
+// "name", "host" }, new int[] { android.R.id.text1,
+// android.R.id.text2}) {
+// @Override
+// public void bindView(View view, Context context,
+// Cursor cursor) {
+//
+// TextView text1 = (TextView)view.findViewById(android.R.id.text1);
+// TextView text2 = (TextView)view.findViewById(android.R.id.text2);
+// int id = cursor.getInt(cursor.getColumnIndex("_id"));
+// String name = cursor.getString(cursor.getColumnIndex("name"));
+// String host = cursor.getString(cursor.getColumnIndex("host"));
+// text2.setText(host);
+//
+// if(cur != null && cur.getId() == id) {
+// SpannableString content = new SpannableString(name);
+// content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
+// text1.setText(content);
+// //text1.setText(text1.getText());
+// } else {
+// text1.setTypeface(Typeface.DEFAULT);
+// text1.setText(name);
+// }
+//
+//
+// }
+//
+// };
setListAdapter(adapter);
registerForContextMenu(getListView());
getListView().setOnItemClickListener(this);
@@ -87,7 +169,7 @@ public class VdrListActivity extends OrmLiteBaseListActivity<OrmDatabaseHelper>
*/
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
- editVdr(Long.valueOf(id).intValue());
+ editVdr(adapter.getItem(position).getId());
}
/**
@@ -123,31 +205,35 @@ public class VdrListActivity extends OrmLiteBaseListActivity<OrmDatabaseHelper>
@Override
protected void onResume() {
+ refresh();
super.onResume();
}
@Override
public void onBackPressed() {
- if(cursor.getCount() == 0){
+ if(list.isEmpty()){
finish();
return;
}
- Preferences.init(this);
if (emptyConfig) {
Intent intent = new Intent(this, VdrManagerActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
} else {
super.onBackPressed();
}
}
+
+
/**
* Refresh the list
*/
private void refresh() {
- initCursor();
- adapter.changeCursor(cursor);
+ list.clear();
+ list.addAll(getHelper().getVdrDAO().queryForAll());
+ adapter.notifyDataSetChanged();
}
public boolean onItemLongClick(AdapterView<?> parent, View view,
@@ -160,7 +246,10 @@ public class VdrListActivity extends OrmLiteBaseListActivity<OrmDatabaseHelper>
public void onClick(DialogInterface dialog,
int which) {
if (getHelper().getVdrDAO()
- .deleteById((int) id) > 0) {
+ .deleteById(adapter.getItem(position).getId()) > 0) {
+ if(Preferences.get().getCurrentVdrContext(VdrListActivity.this) == id){
+ Preferences.setCurrentVdr(VdrListActivity.this, null);
+ }
refresh();
}
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java
index bb6173c..a2cdc07 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java
@@ -2,8 +2,6 @@ package de.bjusystems.vdrmanager.gui;
import android.app.Activity;
import android.app.AlertDialog;
-import android.app.SearchManager;
-import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
@@ -16,9 +14,9 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
-import android.widget.SearchView;
import android.widget.Toast;
import de.bjusystems.vdrmanager.R;
+import de.bjusystems.vdrmanager.app.Intents;
import de.bjusystems.vdrmanager.app.VdrManagerApp;
import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.data.Vdr;
@@ -33,11 +31,34 @@ public class VdrManagerActivity extends Activity implements OnClickListener {
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- if(Preferences.get().getCurrentVdr() == null){
+
+ //Preferences.initVDR(this);
+
+ //if(Preferences.get().getCurrentVdr() == null){
+ //finish();
+ //return;
+ //}
+
+
+ if (Preferences.initVDR(this) == false) {
+ Intent intent = new Intent();
+ intent.setClass(this, VdrListActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.putExtra(Intents.EMPTY_CONFIG, Boolean.TRUE);
+ startActivity(intent);
+ Toast.makeText(this, R.string.no_vdr, Toast.LENGTH_SHORT).show();
finish();
return;
- }
+ }
+
+
+
+
Preferences.setLocale(this);
+
+
+
+
// this.getActionBar().setDisplayShowCustomEnabled(true);
// this.getActionBar().setDisplayShowTitleEnabled(false);
// setTitle(getString(R.string.app_name));
@@ -50,7 +71,10 @@ public class VdrManagerActivity extends Activity implements OnClickListener {
findViewById(R.id.action_menu_recordings).setOnClickListener(this);
findViewById(R.id.action_menu_timers).setOnClickListener(this);
findViewById(R.id.action_menu_epg).setOnClickListener(this);
- findViewById(R.id.action_menu_search).setOnClickListener(this);
+ View v = findViewById(R.id.action_menu_search);
+ if(v != null){
+ v.setOnClickListener(this);
+ }
findViewById(R.id.main_logo).setOnClickListener(this);
if (Preferences.get().isWakeupEnabled() == false) {
findViewById(R.id.action_menu_wakeup).setVisibility(View.GONE);
@@ -58,6 +82,7 @@ public class VdrManagerActivity extends Activity implements OnClickListener {
findViewById(R.id.action_menu_wakeup).setOnClickListener(this);
}
+
// add and register buttons
// createButtons();
}
@@ -71,12 +96,12 @@ public class VdrManagerActivity extends Activity implements OnClickListener {
int api = Build.VERSION.SDK_INT;
if ( api >= 11){
- SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
- SearchView searchView = (SearchView) menu.findItem(R.id.menu_search)
- .getActionView();
- searchView.setSearchableInfo(searchManager
- .getSearchableInfo(getComponentName()));
- searchView.setIconifiedByDefault(false); // Do not iconify the widget;
+// SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
+// SearchView searchView = (SearchView) menu.findItem(R.id.menu_search)
+// .getActionView();
+// searchView.setSearchableInfo(searchManager
+// .getSearchableInfo(getComponentName()));
+// searchView.setIconifiedByDefault(false); // Do not iconify the widget;
}
return true;
@@ -111,12 +136,13 @@ public class VdrManagerActivity extends Activity implements OnClickListener {
finish();
break;
}
- case R.id.menu_search: {
- if(Build.VERSION.SDK_INT <11){
- onSearchRequested();
- }
- break;
- }
+
+// case R.id.menu_search: {
+ // if(Build.VERSION.SDK_INT <11){
+ // onSearchRequested();
+ //}
+ //break;
+ //}
case R.id.main_menu_goto: {
try {
final Cursor cursor = Preferences.getDatabaseHelper()
diff --git a/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java b/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java
index 6e5c25e..85fb57e 100644
--- a/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java
+++ b/vdrmanager/src/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java
@@ -7,6 +7,7 @@ import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.app.Intents;
+import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.data.Vdr;
import de.bjusystems.vdrmanager.data.VdrSharedPreferences;
@@ -74,6 +75,7 @@ public class VdrPreferencesActivity extends BasePreferencesActivity implements
updateChildPreferences();
Preference p = findPreference(key);
updateSummary(p);
+ Preferences.reloadVDR();
}
@Override
@@ -181,7 +183,6 @@ public class VdrPreferencesActivity extends BasePreferencesActivity implements
finish();
return;
}
-
super.onBackPressed();
}