summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlado <herrlado@gmail.com>2019-10-10 23:00:02 +0200
committerlado <herrlado@gmail.com>2019-10-10 23:00:02 +0200
commitc2ce599d38e1ea8027df0fb7b5b76d0d42432db5 (patch)
tree8769381bbfcd858cfadd5d4e722427919b42d765
parentf7e4be33ef77323b30af6753957d5a62cf80d46a (diff)
downloadvdr-manager-c2ce599d38e1ea8027df0fb7b5b76d0d42432db5.tar.gz
vdr-manager-c2ce599d38e1ea8027df0fb7b5b76d0d42432db5.tar.bz2
remote control
-rw-r--r--vdrmanager/build.gradle2
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/build.gradle18
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/build/generated/source/buildConfig/debug/de/bjusystems/vdrmanager/BuildConfig.java4
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/android/support/v7/appcompat/R.java442
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/de/bjusystems/vdrmanager/R.java2839
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml2
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release.apkbin2347012 -> 2496398 bytes
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release_12760.apkbin0 -> 2268273 bytes
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/release/output.json2
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/AndroidManifest.xml9
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/assets/fonts/fontawesome-webfont.ttfbin122092 -> 165548 bytes
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeButton.java3
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeTextView.java36
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/ButtonMapping.java49
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/BaseActivity.java1217
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ChannelListActivity.java50
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ColoredButton.java6
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/PreferencesActivity.java14
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java133
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/Utils.java267
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrListActivity.java544
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java5
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java977
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerDialog.java502
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerPreference.java637
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerView.java177
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/FaListDialog.java200
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/HITK.java20
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/RemoteActivity.java261
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/utils/VdrManagerExceptionHandler.java96
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote.xml399
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote_test.xml344
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/edit_remote_key.xml35
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/fa_search.xml21
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/remote.xml152
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/searchspinner.xml6
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/simple_list_item_1_fa.xml27
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/arrays.xml806
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/colorpicker.xml23
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/dimens.xml2
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/font.xml13
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/strings.xml22
-rw-r--r--vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/styles.xml2
43 files changed, 7161 insertions, 3203 deletions
diff --git a/vdrmanager/build.gradle b/vdrmanager/build.gradle
index 9ed22aa..2f6c7ea 100644
--- a/vdrmanager/build.gradle
+++ b/vdrmanager/build.gradle
@@ -5,7 +5,7 @@ buildscript {
google()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.0.0'
+ classpath 'com.android.tools.build:gradle:3.5.1'
}
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/build.gradle b/vdrmanager/de.bjusystems.vdrmanager/build.gradle
index f759850..5b08d75 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/build.gradle
+++ b/vdrmanager/de.bjusystems.vdrmanager/build.gradle
@@ -14,14 +14,11 @@ android {
}
}
- compileSdkVersion 23
- buildToolsVersion '26.0.2'
+ compileSdkVersion 26
defaultConfig {
applicationId "de.bjusystems.vdrmanager"
- minSdkVersion 8
- targetSdkVersion 23
- //vectorDrawables.useSupportLibrary = true
-
+ minSdkVersion 15
+ targetSdkVersion 26
}
@@ -40,11 +37,12 @@ android {
}
dependencies {
- compile 'com.android.support:support-v4:23.4.0'
- compile 'com.android.support:appcompat-v7:23.4.0'
+ compile 'com.android.support:support-v4:26.1.0'
+ compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.j256.ormlite:ormlite-android:4.48'
compile 'com.j256.ormlite:ormlite-core:4.48'
compile 'org.slf4j:slf4j-android:1.7.19'
- compile 'org.hampelratte:svdrp4j:1.1.0-SNAPSHOT'
- compile 'com.android.support:recyclerview-v7:23.4.0'
+ compile 'org.hampelratte:svdrp4j:1.1.1'
+ compile 'com.android.support:recyclerview-v7:26.1.0'
+ compile 'com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1'
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/buildConfig/debug/de/bjusystems/vdrmanager/BuildConfig.java b/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/buildConfig/debug/de/bjusystems/vdrmanager/BuildConfig.java
index 7ec5efc..30004b4 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/buildConfig/debug/de/bjusystems/vdrmanager/BuildConfig.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/buildConfig/debug/de/bjusystems/vdrmanager/BuildConfig.java
@@ -8,6 +8,6 @@ public final class BuildConfig {
public static final String APPLICATION_ID = "de.bjusystems.vdrmanager";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
- public static final int VERSION_CODE = 12710;
- public static final String VERSION_NAME = "12.71";
+ public static final int VERSION_CODE = 12800;
+ public static final String VERSION_NAME = "12.80";
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/android/support/v7/appcompat/R.java b/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/android/support/v7/appcompat/R.java
index 7e11890..519b9b4 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/android/support/v7/appcompat/R.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/android/support/v7/appcompat/R.java
@@ -122,113 +122,113 @@ public final class R {
public static final int goIcon = 0x7f03006e;
public static final int height = 0x7f03006f;
public static final int hideOnContentScroll = 0x7f030070;
- public static final int homeAsUpIndicator = 0x7f030071;
- public static final int homeLayout = 0x7f030072;
- public static final int icon = 0x7f030073;
- public static final int iconifiedByDefault = 0x7f030074;
- public static final int imageButtonStyle = 0x7f030075;
- public static final int indeterminateProgressStyle = 0x7f030076;
- public static final int initialActivityCount = 0x7f030077;
- public static final int isLightTheme = 0x7f030078;
- public static final int itemPadding = 0x7f030079;
- public static final int layout = 0x7f03007a;
- public static final int listChoiceBackgroundIndicator = 0x7f03007d;
- public static final int listDividerAlertDialog = 0x7f03007e;
- public static final int listItemLayout = 0x7f03007f;
- public static final int listLayout = 0x7f030080;
- public static final int listPopupWindowStyle = 0x7f030081;
- public static final int listPreferredItemHeight = 0x7f030082;
- public static final int listPreferredItemHeightLarge = 0x7f030083;
- public static final int listPreferredItemHeightSmall = 0x7f030084;
- public static final int listPreferredItemPaddingLeft = 0x7f030085;
- public static final int listPreferredItemPaddingRight = 0x7f030086;
- public static final int logo = 0x7f030087;
- public static final int logoDescription = 0x7f030088;
- public static final int maxButtonHeight = 0x7f030089;
- public static final int measureWithLargestChild = 0x7f03008a;
- public static final int multiChoiceItemLayout = 0x7f03008b;
- public static final int navigationContentDescription = 0x7f03008c;
- public static final int navigationIcon = 0x7f03008d;
- public static final int navigationMode = 0x7f03008e;
- public static final int overlapAnchor = 0x7f030091;
- public static final int paddingEnd = 0x7f030092;
- public static final int paddingStart = 0x7f030093;
- public static final int panelBackground = 0x7f030094;
- public static final int panelMenuListTheme = 0x7f030095;
- public static final int panelMenuListWidth = 0x7f030096;
- public static final int popupMenuStyle = 0x7f030097;
- public static final int popupTheme = 0x7f030098;
- public static final int popupWindowStyle = 0x7f030099;
- public static final int preserveIconSpacing = 0x7f03009a;
- public static final int progressBarPadding = 0x7f03009b;
- public static final int progressBarStyle = 0x7f03009c;
- public static final int queryBackground = 0x7f03009d;
- public static final int queryHint = 0x7f03009e;
- public static final int radioButtonStyle = 0x7f03009f;
- public static final int ratingBarStyle = 0x7f0300a1;
- public static final int ratingBarStyleIndicator = 0x7f0300a2;
- public static final int ratingBarStyleSmall = 0x7f0300a3;
- public static final int searchHintIcon = 0x7f0300a5;
- public static final int searchIcon = 0x7f0300a6;
- public static final int searchViewStyle = 0x7f0300a7;
- public static final int seekBarStyle = 0x7f0300a8;
- public static final int selectableItemBackground = 0x7f0300a9;
- public static final int selectableItemBackgroundBorderless = 0x7f0300aa;
- public static final int showAsAction = 0x7f0300ad;
- public static final int showDividers = 0x7f0300ae;
- public static final int showText = 0x7f0300af;
- public static final int singleChoiceItemLayout = 0x7f0300b0;
- public static final int spinBars = 0x7f0300b3;
- public static final int spinnerDropDownItemStyle = 0x7f0300b4;
- public static final int spinnerStyle = 0x7f0300b5;
- public static final int splitTrack = 0x7f0300b6;
- public static final int srcCompat = 0x7f0300b7;
- public static final int state_above_anchor = 0x7f0300b9;
- public static final int submitBackground = 0x7f0300bc;
- public static final int subtitle = 0x7f0300bd;
- public static final int subtitleTextAppearance = 0x7f0300be;
- public static final int subtitleTextColor = 0x7f0300bf;
- public static final int subtitleTextStyle = 0x7f0300c0;
- public static final int suggestionRowLayout = 0x7f0300c1;
- public static final int switchMinWidth = 0x7f0300c2;
- public static final int switchPadding = 0x7f0300c3;
- public static final int switchStyle = 0x7f0300c4;
- public static final int switchTextAppearance = 0x7f0300c5;
- public static final int textAllCaps = 0x7f0300c6;
- public static final int textAppearanceLargePopupMenu = 0x7f0300c7;
- public static final int textAppearanceListItem = 0x7f0300c8;
- public static final int textAppearanceListItemSmall = 0x7f0300c9;
- public static final int textAppearanceSearchResultSubtitle = 0x7f0300ca;
- public static final int textAppearanceSearchResultTitle = 0x7f0300cb;
- public static final int textAppearanceSmallPopupMenu = 0x7f0300cc;
- public static final int textColorAlertDialogListItem = 0x7f0300ce;
- public static final int textColorSearchUrl = 0x7f0300cf;
- public static final int theme = 0x7f0300d1;
- public static final int thickness = 0x7f0300d2;
- public static final int thumbTextPadding = 0x7f0300d3;
- public static final int title = 0x7f0300d4;
- public static final int titleMarginBottom = 0x7f0300d5;
- public static final int titleMarginEnd = 0x7f0300d6;
- public static final int titleMarginStart = 0x7f0300d7;
- public static final int titleMarginTop = 0x7f0300d8;
- public static final int titleMargins = 0x7f0300d9;
- public static final int titleTextAppearance = 0x7f0300dc;
- public static final int titleTextColor = 0x7f0300dd;
- public static final int titleTextStyle = 0x7f0300de;
- public static final int toolbarNavigationButtonStyle = 0x7f0300df;
- public static final int toolbarStyle = 0x7f0300e0;
- public static final int track = 0x7f0300e2;
- public static final int voiceIcon = 0x7f0300e3;
- public static final int windowActionBar = 0x7f0300e4;
- public static final int windowActionBarOverlay = 0x7f0300e5;
- public static final int windowActionModeOverlay = 0x7f0300e6;
- public static final int windowFixedHeightMajor = 0x7f0300e7;
- public static final int windowFixedHeightMinor = 0x7f0300e8;
- public static final int windowFixedWidthMajor = 0x7f0300e9;
- public static final int windowFixedWidthMinor = 0x7f0300ea;
- public static final int windowMinWidthMajor = 0x7f0300eb;
- public static final int windowMinWidthMinor = 0x7f0300ec;
- public static final int windowNoTitle = 0x7f0300ed;
+ public static final int homeAsUpIndicator = 0x7f030072;
+ public static final int homeLayout = 0x7f030073;
+ public static final int icon = 0x7f030074;
+ public static final int iconifiedByDefault = 0x7f030075;
+ public static final int imageButtonStyle = 0x7f030076;
+ public static final int indeterminateProgressStyle = 0x7f030077;
+ public static final int initialActivityCount = 0x7f030078;
+ public static final int isLightTheme = 0x7f030079;
+ public static final int itemPadding = 0x7f03007a;
+ public static final int layout = 0x7f03007b;
+ public static final int listChoiceBackgroundIndicator = 0x7f03007e;
+ public static final int listDividerAlertDialog = 0x7f03007f;
+ public static final int listItemLayout = 0x7f030080;
+ public static final int listLayout = 0x7f030081;
+ public static final int listPopupWindowStyle = 0x7f030082;
+ public static final int listPreferredItemHeight = 0x7f030083;
+ public static final int listPreferredItemHeightLarge = 0x7f030084;
+ public static final int listPreferredItemHeightSmall = 0x7f030085;
+ public static final int listPreferredItemPaddingLeft = 0x7f030086;
+ public static final int listPreferredItemPaddingRight = 0x7f030087;
+ public static final int logo = 0x7f030088;
+ public static final int logoDescription = 0x7f030089;
+ public static final int maxButtonHeight = 0x7f03008a;
+ public static final int measureWithLargestChild = 0x7f03008b;
+ public static final int multiChoiceItemLayout = 0x7f03008c;
+ public static final int navigationContentDescription = 0x7f03008d;
+ public static final int navigationIcon = 0x7f03008e;
+ public static final int navigationMode = 0x7f03008f;
+ public static final int overlapAnchor = 0x7f030092;
+ public static final int paddingEnd = 0x7f030093;
+ public static final int paddingStart = 0x7f030094;
+ public static final int panelBackground = 0x7f030095;
+ public static final int panelMenuListTheme = 0x7f030096;
+ public static final int panelMenuListWidth = 0x7f030097;
+ public static final int popupMenuStyle = 0x7f030098;
+ public static final int popupTheme = 0x7f030099;
+ public static final int popupWindowStyle = 0x7f03009a;
+ public static final int preserveIconSpacing = 0x7f03009b;
+ public static final int progressBarPadding = 0x7f03009c;
+ public static final int progressBarStyle = 0x7f03009d;
+ public static final int queryBackground = 0x7f03009e;
+ public static final int queryHint = 0x7f03009f;
+ public static final int radioButtonStyle = 0x7f0300a0;
+ public static final int ratingBarStyle = 0x7f0300a2;
+ public static final int ratingBarStyleIndicator = 0x7f0300a3;
+ public static final int ratingBarStyleSmall = 0x7f0300a4;
+ public static final int searchHintIcon = 0x7f0300a6;
+ public static final int searchIcon = 0x7f0300a7;
+ public static final int searchViewStyle = 0x7f0300a8;
+ public static final int seekBarStyle = 0x7f0300a9;
+ public static final int selectableItemBackground = 0x7f0300aa;
+ public static final int selectableItemBackgroundBorderless = 0x7f0300ab;
+ public static final int showAsAction = 0x7f0300ae;
+ public static final int showDividers = 0x7f0300af;
+ public static final int showText = 0x7f0300b0;
+ public static final int singleChoiceItemLayout = 0x7f0300b1;
+ public static final int spinBars = 0x7f0300b4;
+ public static final int spinnerDropDownItemStyle = 0x7f0300b5;
+ public static final int spinnerStyle = 0x7f0300b6;
+ public static final int splitTrack = 0x7f0300b7;
+ public static final int srcCompat = 0x7f0300b8;
+ public static final int state_above_anchor = 0x7f0300ba;
+ public static final int submitBackground = 0x7f0300bd;
+ public static final int subtitle = 0x7f0300be;
+ public static final int subtitleTextAppearance = 0x7f0300bf;
+ public static final int subtitleTextColor = 0x7f0300c0;
+ public static final int subtitleTextStyle = 0x7f0300c1;
+ public static final int suggestionRowLayout = 0x7f0300c2;
+ public static final int switchMinWidth = 0x7f0300c3;
+ public static final int switchPadding = 0x7f0300c4;
+ public static final int switchStyle = 0x7f0300c5;
+ public static final int switchTextAppearance = 0x7f0300c6;
+ public static final int textAllCaps = 0x7f0300c7;
+ public static final int textAppearanceLargePopupMenu = 0x7f0300c8;
+ public static final int textAppearanceListItem = 0x7f0300c9;
+ public static final int textAppearanceListItemSmall = 0x7f0300ca;
+ public static final int textAppearanceSearchResultSubtitle = 0x7f0300cb;
+ public static final int textAppearanceSearchResultTitle = 0x7f0300cc;
+ public static final int textAppearanceSmallPopupMenu = 0x7f0300cd;
+ public static final int textColorAlertDialogListItem = 0x7f0300cf;
+ public static final int textColorSearchUrl = 0x7f0300d0;
+ public static final int theme = 0x7f0300d2;
+ public static final int thickness = 0x7f0300d3;
+ public static final int thumbTextPadding = 0x7f0300d4;
+ public static final int title = 0x7f0300d5;
+ public static final int titleMarginBottom = 0x7f0300d6;
+ public static final int titleMarginEnd = 0x7f0300d7;
+ public static final int titleMarginStart = 0x7f0300d8;
+ public static final int titleMarginTop = 0x7f0300d9;
+ public static final int titleMargins = 0x7f0300da;
+ public static final int titleTextAppearance = 0x7f0300dd;
+ public static final int titleTextColor = 0x7f0300de;
+ public static final int titleTextStyle = 0x7f0300df;
+ public static final int toolbarNavigationButtonStyle = 0x7f0300e0;
+ public static final int toolbarStyle = 0x7f0300e1;
+ public static final int track = 0x7f0300e3;
+ public static final int voiceIcon = 0x7f0300e4;
+ public static final int windowActionBar = 0x7f0300e5;
+ public static final int windowActionBarOverlay = 0x7f0300e6;
+ public static final int windowActionModeOverlay = 0x7f0300e7;
+ public static final int windowFixedHeightMajor = 0x7f0300e8;
+ public static final int windowFixedHeightMinor = 0x7f0300e9;
+ public static final int windowFixedWidthMajor = 0x7f0300ea;
+ public static final int windowFixedWidthMinor = 0x7f0300eb;
+ public static final int windowMinWidthMajor = 0x7f0300ec;
+ public static final int windowMinWidthMinor = 0x7f0300ed;
+ public static final int windowNoTitle = 0x7f0300ee;
}
public static final class bool {
public static final int abc_action_bar_embed_tabs = 0x7f040000;
@@ -380,14 +380,14 @@ public final class R {
public static final int abc_text_size_subtitle_material_toolbar = 0x7f060040;
public static final int abc_text_size_title_material = 0x7f060041;
public static final int abc_text_size_title_material_toolbar = 0x7f060042;
- public static final int disabled_alpha_material_dark = 0x7f06004d;
- public static final int disabled_alpha_material_light = 0x7f06004e;
- public static final int highlight_alpha_material_colored = 0x7f06004f;
- public static final int highlight_alpha_material_dark = 0x7f060050;
- public static final int highlight_alpha_material_light = 0x7f060051;
- public static final int notification_large_icon_height = 0x7f060058;
- public static final int notification_large_icon_width = 0x7f060059;
- public static final int notification_subtext_size = 0x7f06005a;
+ public static final int disabled_alpha_material_dark = 0x7f06004f;
+ public static final int disabled_alpha_material_light = 0x7f060050;
+ public static final int highlight_alpha_material_colored = 0x7f060051;
+ public static final int highlight_alpha_material_dark = 0x7f060052;
+ public static final int highlight_alpha_material_light = 0x7f060053;
+ public static final int notification_large_icon_height = 0x7f06005a;
+ public static final int notification_large_icon_width = 0x7f06005b;
+ public static final int notification_subtext_size = 0x7f06005c;
}
public static final class drawable {
public static final int abc_ab_share_pack_mtrl_alpha = 0x7f070000;
@@ -487,80 +487,80 @@ public final class R {
public static final int alertTitle = 0x7f08001c;
public static final int always = 0x7f08001d;
public static final int beginning = 0x7f080020;
- public static final int buttonPanel = 0x7f080025;
- public static final int cancel_action = 0x7f080026;
- public static final int checkbox = 0x7f080035;
- public static final int chronometer = 0x7f080036;
- public static final int collapseActionView = 0x7f080037;
- public static final int contentPanel = 0x7f080039;
- public static final int custom = 0x7f08003c;
- public static final int customPanel = 0x7f08003d;
- public static final int decor_content_parent = 0x7f08003e;
- public static final int default_activity_button = 0x7f08003f;
- public static final int disableHome = 0x7f080040;
- public static final int edit_query = 0x7f080047;
- public static final int end = 0x7f080049;
- public static final int end_padder = 0x7f08004a;
- public static final int expand_activities_button = 0x7f080078;
- public static final int expanded_menu = 0x7f080079;
- public static final int home = 0x7f080085;
- public static final int homeAsUp = 0x7f080086;
- public static final int icon = 0x7f080088;
- public static final int ifRoom = 0x7f080089;
- public static final int image = 0x7f08008a;
- public static final int info = 0x7f08008c;
- public static final int line1 = 0x7f080091;
- public static final int line3 = 0x7f080092;
- public static final int listMode = 0x7f080094;
- public static final int list_item = 0x7f080096;
- public static final int media_actions = 0x7f0800a0;
- public static final int middle = 0x7f0800a2;
- public static final int multiply = 0x7f0800a3;
- public static final int never = 0x7f0800a5;
- public static final int none = 0x7f0800a8;
- public static final int normal = 0x7f0800a9;
- public static final int parentPanel = 0x7f0800ab;
- public static final int progress_circular = 0x7f0800ac;
- public static final int progress_horizontal = 0x7f0800ad;
- public static final int radio = 0x7f0800ae;
- public static final int screen = 0x7f0800bf;
- public static final int scrollIndicatorDown = 0x7f0800c0;
- public static final int scrollIndicatorUp = 0x7f0800c1;
- public static final int scrollView = 0x7f0800c2;
- public static final int search_badge = 0x7f0800c3;
- public static final int search_bar = 0x7f0800c4;
- public static final int search_button = 0x7f0800c6;
- public static final int search_close_btn = 0x7f0800c7;
- public static final int search_edit_frame = 0x7f0800c8;
- public static final int search_go_btn = 0x7f0800c9;
- public static final int search_mag_icon = 0x7f0800ca;
- public static final int search_plate = 0x7f0800cb;
- public static final int search_src_text = 0x7f0800cc;
- public static final int search_voice_btn = 0x7f0800cd;
- public static final int select_dialog_listview = 0x7f0800ce;
- public static final int shortcut = 0x7f0800cf;
- public static final int showCustom = 0x7f0800d0;
- public static final int showHome = 0x7f0800d1;
- public static final int showTitle = 0x7f0800d2;
- public static final int spacer = 0x7f0800d3;
- public static final int split_action_bar = 0x7f0800d4;
- public static final int src_atop = 0x7f0800d5;
- public static final int src_in = 0x7f0800d6;
- public static final int src_over = 0x7f0800d7;
- public static final int status_bar_latest_event_content = 0x7f0800d8;
- public static final int submit_area = 0x7f0800d9;
- public static final int tabMode = 0x7f0800db;
- public static final int text = 0x7f0800dc;
- public static final int text2 = 0x7f0800dd;
- public static final int textSpacerNoButtons = 0x7f0800de;
- public static final int time = 0x7f0800df;
- public static final int title = 0x7f080100;
- public static final int title_template = 0x7f080101;
- public static final int topPanel = 0x7f080102;
- public static final int up = 0x7f080105;
- public static final int useLogo = 0x7f080106;
- public static final int withText = 0x7f08010f;
- public static final int wrap_content = 0x7f080110;
+ public static final int buttonPanel = 0x7f080023;
+ public static final int cancel_action = 0x7f080024;
+ public static final int checkbox = 0x7f080033;
+ public static final int chronometer = 0x7f080034;
+ public static final int collapseActionView = 0x7f080035;
+ public static final int contentPanel = 0x7f080037;
+ public static final int custom = 0x7f08003a;
+ public static final int customPanel = 0x7f08003b;
+ public static final int decor_content_parent = 0x7f08003c;
+ public static final int default_activity_button = 0x7f08003d;
+ public static final int disableHome = 0x7f08003e;
+ public static final int edit_query = 0x7f080045;
+ public static final int end = 0x7f080047;
+ public static final int end_padder = 0x7f080048;
+ public static final int expand_activities_button = 0x7f080076;
+ public static final int expanded_menu = 0x7f080077;
+ public static final int home = 0x7f080087;
+ public static final int homeAsUp = 0x7f080088;
+ public static final int icon = 0x7f08008a;
+ public static final int ifRoom = 0x7f08008b;
+ public static final int image = 0x7f08008c;
+ public static final int info = 0x7f08008e;
+ public static final int line1 = 0x7f080093;
+ public static final int line3 = 0x7f080094;
+ public static final int listMode = 0x7f080097;
+ public static final int list_item = 0x7f080099;
+ public static final int media_actions = 0x7f0800a3;
+ public static final int middle = 0x7f0800a5;
+ public static final int multiply = 0x7f0800a6;
+ public static final int never = 0x7f0800a8;
+ public static final int none = 0x7f0800ab;
+ public static final int normal = 0x7f0800ac;
+ public static final int parentPanel = 0x7f0800ae;
+ public static final int progress_circular = 0x7f0800af;
+ public static final int progress_horizontal = 0x7f0800b0;
+ public static final int radio = 0x7f0800b1;
+ public static final int screen = 0x7f0800c2;
+ public static final int scrollIndicatorDown = 0x7f0800c3;
+ public static final int scrollIndicatorUp = 0x7f0800c4;
+ public static final int scrollView = 0x7f0800c5;
+ public static final int search_badge = 0x7f0800c7;
+ public static final int search_bar = 0x7f0800c8;
+ public static final int search_button = 0x7f0800ca;
+ public static final int search_close_btn = 0x7f0800cb;
+ public static final int search_edit_frame = 0x7f0800cc;
+ public static final int search_go_btn = 0x7f0800cd;
+ public static final int search_mag_icon = 0x7f0800ce;
+ public static final int search_plate = 0x7f0800cf;
+ public static final int search_src_text = 0x7f0800d0;
+ public static final int search_voice_btn = 0x7f0800d1;
+ public static final int select_dialog_listview = 0x7f0800d2;
+ public static final int shortcut = 0x7f0800d3;
+ public static final int showCustom = 0x7f0800d4;
+ public static final int showHome = 0x7f0800d5;
+ public static final int showTitle = 0x7f0800d6;
+ public static final int spacer = 0x7f0800d7;
+ public static final int split_action_bar = 0x7f0800d9;
+ public static final int src_atop = 0x7f0800da;
+ public static final int src_in = 0x7f0800db;
+ public static final int src_over = 0x7f0800dc;
+ public static final int status_bar_latest_event_content = 0x7f0800dd;
+ public static final int submit_area = 0x7f0800de;
+ public static final int tabMode = 0x7f0800e0;
+ public static final int text = 0x7f0800e1;
+ public static final int text2 = 0x7f0800e2;
+ public static final int textSpacerNoButtons = 0x7f0800e3;
+ public static final int time = 0x7f0800e4;
+ public static final int title = 0x7f080105;
+ public static final int title_template = 0x7f080106;
+ public static final int topPanel = 0x7f080107;
+ public static final int up = 0x7f08010a;
+ public static final int useLogo = 0x7f08010b;
+ public static final int withText = 0x7f080114;
+ public static final int wrap_content = 0x7f080115;
}
public static final class integer {
public static final int abc_config_activityDefaultDur = 0x7f090000;
@@ -595,18 +595,18 @@ public final class R {
public static final int abc_search_dropdown_item_icons_2line = 0x7f0a0016;
public static final int abc_search_view = 0x7f0a0017;
public static final int abc_select_dialog_material = 0x7f0a0018;
- public static final int notification_media_action = 0x7f0a002e;
- public static final int notification_media_cancel_action = 0x7f0a002f;
- public static final int notification_template_big_media = 0x7f0a0030;
- public static final int notification_template_big_media_narrow = 0x7f0a0031;
- public static final int notification_template_lines = 0x7f0a0032;
- public static final int notification_template_media = 0x7f0a0033;
- public static final int notification_template_part_chronometer = 0x7f0a0034;
- public static final int notification_template_part_time = 0x7f0a0035;
- public static final int select_dialog_item_material = 0x7f0a003c;
- public static final int select_dialog_multichoice_material = 0x7f0a003d;
- public static final int select_dialog_singlechoice_material = 0x7f0a003e;
- public static final int support_simple_spinner_dropdown_item = 0x7f0a003f;
+ public static final int notification_media_action = 0x7f0a002f;
+ public static final int notification_media_cancel_action = 0x7f0a0030;
+ public static final int notification_template_big_media = 0x7f0a0031;
+ public static final int notification_template_big_media_narrow = 0x7f0a0032;
+ public static final int notification_template_lines = 0x7f0a0033;
+ public static final int notification_template_media = 0x7f0a0034;
+ public static final int notification_template_part_chronometer = 0x7f0a0035;
+ public static final int notification_template_part_time = 0x7f0a0036;
+ public static final int select_dialog_item_material = 0x7f0a0040;
+ public static final int select_dialog_multichoice_material = 0x7f0a0041;
+ public static final int select_dialog_singlechoice_material = 0x7f0a0042;
+ public static final int support_simple_spinner_dropdown_item = 0x7f0a0044;
}
public static final class string {
public static final int abc_action_bar_home_description = 0x7f0d0050;
@@ -628,7 +628,7 @@ public final class R {
public static final int abc_shareactionprovider_share_with = 0x7f0d0060;
public static final int abc_shareactionprovider_share_with_application = 0x7f0d0061;
public static final int abc_toolbar_collapse_description = 0x7f0d0062;
- public static final int status_bar_notification_info_overflow = 0x7f0d016e;
+ public static final int status_bar_notification_info_overflow = 0x7f0d0188;
}
public static final class style {
public static final int AlertDialog_AppCompat = 0x7f0e0000;
@@ -951,7 +951,7 @@ public final class R {
public static final int Widget_AppCompat_Toolbar_Button_Navigation = 0x7f0e0143;
}
public static final class styleable {
- public static final int[] ActionBar = { 0x7f03002a, 0x7f03002b, 0x7f03002c, 0x7f03004e, 0x7f03004f, 0x7f030050, 0x7f030051, 0x7f030054, 0x7f030058, 0x7f030059, 0x7f030064, 0x7f03006f, 0x7f030070, 0x7f030071, 0x7f030072, 0x7f030073, 0x7f030076, 0x7f030079, 0x7f030087, 0x7f03008e, 0x7f030098, 0x7f03009b, 0x7f03009c, 0x7f0300bd, 0x7f0300c0, 0x7f0300d4, 0x7f0300de };
+ public static final int[] ActionBar = { 0x7f03002a, 0x7f03002b, 0x7f03002c, 0x7f03004e, 0x7f03004f, 0x7f030050, 0x7f030051, 0x7f030054, 0x7f030058, 0x7f030059, 0x7f030064, 0x7f03006f, 0x7f030070, 0x7f030072, 0x7f030073, 0x7f030074, 0x7f030077, 0x7f03007a, 0x7f030088, 0x7f03008f, 0x7f030099, 0x7f03009c, 0x7f03009d, 0x7f0300be, 0x7f0300c1, 0x7f0300d5, 0x7f0300df };
public static final int ActionBar_background = 0;
public static final int ActionBar_backgroundSplit = 1;
public static final int ActionBar_backgroundStacked = 2;
@@ -984,30 +984,30 @@ public final class R {
public static final int[] ActionMenuItemView = { 0x0101013f };
public static final int ActionMenuItemView_android_minWidth = 0;
public static final int[] ActionMenuView = { };
- public static final int[] ActionMode = { 0x7f03002a, 0x7f03002b, 0x7f030041, 0x7f03006f, 0x7f0300c0, 0x7f0300de };
+ public static final int[] ActionMode = { 0x7f03002a, 0x7f03002b, 0x7f030041, 0x7f03006f, 0x7f0300c1, 0x7f0300df };
public static final int ActionMode_background = 0;
public static final int ActionMode_backgroundSplit = 1;
public static final int ActionMode_closeItemLayout = 2;
public static final int ActionMode_height = 3;
public static final int ActionMode_subtitleTextStyle = 4;
public static final int ActionMode_titleTextStyle = 5;
- public static final int[] ActivityChooserView = { 0x7f030065, 0x7f030077 };
+ public static final int[] ActivityChooserView = { 0x7f030065, 0x7f030078 };
public static final int ActivityChooserView_expandActivityOverflowButtonDrawable = 0;
public static final int ActivityChooserView_initialActivityCount = 1;
- public static final int[] AlertDialog = { 0x010100f2, 0x7f030036, 0x7f03007f, 0x7f030080, 0x7f03008b, 0x7f0300b0 };
+ public static final int[] AlertDialog = { 0x010100f2, 0x7f030036, 0x7f030080, 0x7f030081, 0x7f03008c, 0x7f0300b1 };
public static final int AlertDialog_android_layout = 0;
public static final int AlertDialog_buttonPanelSideLayout = 1;
public static final int AlertDialog_listItemLayout = 2;
public static final int AlertDialog_listLayout = 3;
public static final int AlertDialog_multiChoiceItemLayout = 4;
public static final int AlertDialog_singleChoiceItemLayout = 5;
- public static final int[] AppCompatImageView = { 0x01010119, 0x7f0300b7 };
+ public static final int[] AppCompatImageView = { 0x01010119, 0x7f0300b8 };
public static final int AppCompatImageView_android_src = 0;
public static final int AppCompatImageView_srcCompat = 1;
- public static final int[] AppCompatTextView = { 0x01010034, 0x7f0300c6 };
+ public static final int[] AppCompatTextView = { 0x01010034, 0x7f0300c7 };
public static final int AppCompatTextView_android_textAppearance = 0;
public static final int AppCompatTextView_textAllCaps = 1;
- public static final int[] AppCompatTheme = { 0x01010057, 0x010100ae, 0x7f030000, 0x7f030001, 0x7f030002, 0x7f030003, 0x7f030004, 0x7f030005, 0x7f030006, 0x7f030007, 0x7f030008, 0x7f030009, 0x7f03000a, 0x7f03000b, 0x7f03000c, 0x7f03000e, 0x7f03000f, 0x7f030010, 0x7f030011, 0x7f030012, 0x7f030013, 0x7f030014, 0x7f030015, 0x7f030016, 0x7f030017, 0x7f030018, 0x7f030019, 0x7f03001a, 0x7f03001b, 0x7f03001c, 0x7f03001d, 0x7f03001e, 0x7f030021, 0x7f030022, 0x7f030023, 0x7f030024, 0x7f030025, 0x7f030029, 0x7f030030, 0x7f030031, 0x7f030032, 0x7f030033, 0x7f030034, 0x7f030035, 0x7f030037, 0x7f030038, 0x7f03003c, 0x7f03003d, 0x7f030045, 0x7f030046, 0x7f030047, 0x7f030048, 0x7f030049, 0x7f03004a, 0x7f03004b, 0x7f03004c, 0x7f030052, 0x7f030056, 0x7f030057, 0x7f03005a, 0x7f03005c, 0x7f03005f, 0x7f030060, 0x7f030061, 0x7f030062, 0x7f030063, 0x7f030071, 0x7f030075, 0x7f03007d, 0x7f03007e, 0x7f030081, 0x7f030082, 0x7f030083, 0x7f030084, 0x7f030085, 0x7f030086, 0x7f030094, 0x7f030095, 0x7f030096, 0x7f030097, 0x7f030099, 0x7f03009f, 0x7f0300a1, 0x7f0300a2, 0x7f0300a3, 0x7f0300a7, 0x7f0300a8, 0x7f0300a9, 0x7f0300aa, 0x7f0300b4, 0x7f0300b5, 0x7f0300c4, 0x7f0300c7, 0x7f0300c8, 0x7f0300c9, 0x7f0300ca, 0x7f0300cb, 0x7f0300cc, 0x7f0300ce, 0x7f0300cf, 0x7f0300df, 0x7f0300e0, 0x7f0300e4, 0x7f0300e5, 0x7f0300e6, 0x7f0300e7, 0x7f0300e8, 0x7f0300e9, 0x7f0300ea, 0x7f0300eb, 0x7f0300ec, 0x7f0300ed };
+ public static final int[] AppCompatTheme = { 0x01010057, 0x010100ae, 0x7f030000, 0x7f030001, 0x7f030002, 0x7f030003, 0x7f030004, 0x7f030005, 0x7f030006, 0x7f030007, 0x7f030008, 0x7f030009, 0x7f03000a, 0x7f03000b, 0x7f03000c, 0x7f03000e, 0x7f03000f, 0x7f030010, 0x7f030011, 0x7f030012, 0x7f030013, 0x7f030014, 0x7f030015, 0x7f030016, 0x7f030017, 0x7f030018, 0x7f030019, 0x7f03001a, 0x7f03001b, 0x7f03001c, 0x7f03001d, 0x7f03001e, 0x7f030021, 0x7f030022, 0x7f030023, 0x7f030024, 0x7f030025, 0x7f030029, 0x7f030030, 0x7f030031, 0x7f030032, 0x7f030033, 0x7f030034, 0x7f030035, 0x7f030037, 0x7f030038, 0x7f03003c, 0x7f03003d, 0x7f030045, 0x7f030046, 0x7f030047, 0x7f030048, 0x7f030049, 0x7f03004a, 0x7f03004b, 0x7f03004c, 0x7f030052, 0x7f030056, 0x7f030057, 0x7f03005a, 0x7f03005c, 0x7f03005f, 0x7f030060, 0x7f030061, 0x7f030062, 0x7f030063, 0x7f030072, 0x7f030076, 0x7f03007e, 0x7f03007f, 0x7f030082, 0x7f030083, 0x7f030084, 0x7f030085, 0x7f030086, 0x7f030087, 0x7f030095, 0x7f030096, 0x7f030097, 0x7f030098, 0x7f03009a, 0x7f0300a0, 0x7f0300a2, 0x7f0300a3, 0x7f0300a4, 0x7f0300a8, 0x7f0300a9, 0x7f0300aa, 0x7f0300ab, 0x7f0300b5, 0x7f0300b6, 0x7f0300c5, 0x7f0300c8, 0x7f0300c9, 0x7f0300ca, 0x7f0300cb, 0x7f0300cc, 0x7f0300cd, 0x7f0300cf, 0x7f0300d0, 0x7f0300e0, 0x7f0300e1, 0x7f0300e5, 0x7f0300e6, 0x7f0300e7, 0x7f0300e8, 0x7f0300e9, 0x7f0300ea, 0x7f0300eb, 0x7f0300ec, 0x7f0300ed, 0x7f0300ee };
public static final int AppCompatTheme_android_windowIsFloating = 0;
public static final int AppCompatTheme_android_windowAnimationStyle = 1;
public static final int AppCompatTheme_actionBarDivider = 2;
@@ -1126,7 +1126,7 @@ public final class R {
public static final int CompoundButton_android_button = 0;
public static final int CompoundButton_buttonTint = 1;
public static final int CompoundButton_buttonTintMode = 2;
- public static final int[] DrawerArrowToggle = { 0x7f030027, 0x7f030028, 0x7f03002f, 0x7f030044, 0x7f03005d, 0x7f03006d, 0x7f0300b3, 0x7f0300d2 };
+ public static final int[] DrawerArrowToggle = { 0x7f030027, 0x7f030028, 0x7f03002f, 0x7f030044, 0x7f03005d, 0x7f03006d, 0x7f0300b4, 0x7f0300d3 };
public static final int DrawerArrowToggle_arrowHeadLength = 0;
public static final int DrawerArrowToggle_arrowShaftLength = 1;
public static final int DrawerArrowToggle_barLength = 2;
@@ -1135,7 +1135,7 @@ public final class R {
public static final int DrawerArrowToggle_gapBetweenBars = 5;
public static final int DrawerArrowToggle_spinBars = 6;
public static final int DrawerArrowToggle_thickness = 7;
- public static final int[] LinearLayoutCompat = { 0x010100af, 0x010100c4, 0x01010126, 0x01010127, 0x01010128, 0x7f030059, 0x7f03005b, 0x7f03008a, 0x7f0300ae };
+ public static final int[] LinearLayoutCompat = { 0x010100af, 0x010100c4, 0x01010126, 0x01010127, 0x01010128, 0x7f030059, 0x7f03005b, 0x7f03008b, 0x7f0300af };
public static final int LinearLayoutCompat_android_gravity = 0;
public static final int LinearLayoutCompat_android_orientation = 1;
public static final int LinearLayoutCompat_android_baselineAligned = 2;
@@ -1160,7 +1160,7 @@ public final class R {
public static final int MenuGroup_android_menuCategory = 3;
public static final int MenuGroup_android_orderInCategory = 4;
public static final int MenuGroup_android_checkableBehavior = 5;
- public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f03000d, 0x7f03001f, 0x7f030020, 0x7f0300ad };
+ public static final int[] MenuItem = { 0x01010002, 0x0101000e, 0x010100d0, 0x01010106, 0x01010194, 0x010101de, 0x010101df, 0x010101e1, 0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5, 0x0101026f, 0x7f03000d, 0x7f03001f, 0x7f030020, 0x7f0300ae };
public static final int MenuItem_android_icon = 0;
public static final int MenuItem_android_enabled = 1;
public static final int MenuItem_android_id = 2;
@@ -1178,7 +1178,7 @@ public final class R {
public static final int MenuItem_actionProviderClass = 14;
public static final int MenuItem_actionViewClass = 15;
public static final int MenuItem_showAsAction = 16;
- public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x7f03009a };
+ public static final int[] MenuView = { 0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e, 0x0101012f, 0x01010130, 0x01010131, 0x7f03009b };
public static final int MenuView_android_windowAnimationStyle = 0;
public static final int MenuView_android_itemTextAppearance = 1;
public static final int MenuView_android_horizontalDivider = 2;
@@ -1187,12 +1187,12 @@ public final class R {
public static final int MenuView_android_itemBackground = 5;
public static final int MenuView_android_itemIconDisabledAlpha = 6;
public static final int MenuView_preserveIconSpacing = 7;
- public static final int[] PopupWindow = { 0x01010176, 0x7f030091 };
+ public static final int[] PopupWindow = { 0x01010176, 0x7f030092 };
public static final int PopupWindow_android_popupBackground = 0;
public static final int PopupWindow_overlapAnchor = 1;
- public static final int[] PopupWindowBackgroundState = { 0x7f0300b9 };
+ public static final int[] PopupWindowBackgroundState = { 0x7f0300ba };
public static final int PopupWindowBackgroundState_state_above_anchor = 0;
- public static final int[] SearchView = { 0x010100da, 0x0101011f, 0x01010220, 0x01010264, 0x7f030040, 0x7f03004d, 0x7f030055, 0x7f03006e, 0x7f030074, 0x7f03007a, 0x7f03009d, 0x7f03009e, 0x7f0300a5, 0x7f0300a6, 0x7f0300bc, 0x7f0300c1, 0x7f0300e3 };
+ public static final int[] SearchView = { 0x010100da, 0x0101011f, 0x01010220, 0x01010264, 0x7f030040, 0x7f03004d, 0x7f030055, 0x7f03006e, 0x7f030075, 0x7f03007b, 0x7f03009e, 0x7f03009f, 0x7f0300a6, 0x7f0300a7, 0x7f0300bd, 0x7f0300c2, 0x7f0300e4 };
public static final int SearchView_android_focusable = 0;
public static final int SearchView_android_maxWidth = 1;
public static final int SearchView_android_inputType = 2;
@@ -1210,13 +1210,13 @@ public final class R {
public static final int SearchView_submitBackground = 14;
public static final int SearchView_suggestionRowLayout = 15;
public static final int SearchView_voiceIcon = 16;
- public static final int[] Spinner = { 0x010100b2, 0x01010176, 0x0101017b, 0x01010262, 0x7f030098 };
+ public static final int[] Spinner = { 0x010100b2, 0x01010176, 0x0101017b, 0x01010262, 0x7f030099 };
public static final int Spinner_android_entries = 0;
public static final int Spinner_android_popupBackground = 1;
public static final int Spinner_android_prompt = 2;
public static final int Spinner_android_dropDownWidth = 3;
public static final int Spinner_popupTheme = 4;
- public static final int[] SwitchCompat = { 0x01010124, 0x01010125, 0x01010142, 0x7f0300af, 0x7f0300b6, 0x7f0300c2, 0x7f0300c3, 0x7f0300c5, 0x7f0300d3, 0x7f0300e2 };
+ public static final int[] SwitchCompat = { 0x01010124, 0x01010125, 0x01010142, 0x7f0300b0, 0x7f0300b7, 0x7f0300c3, 0x7f0300c4, 0x7f0300c6, 0x7f0300d4, 0x7f0300e3 };
public static final int SwitchCompat_android_textOn = 0;
public static final int SwitchCompat_android_textOff = 1;
public static final int SwitchCompat_android_thumb = 2;
@@ -1227,7 +1227,7 @@ public final class R {
public static final int SwitchCompat_switchTextAppearance = 7;
public static final int SwitchCompat_thumbTextPadding = 8;
public static final int SwitchCompat_track = 9;
- public static final int[] TextAppearance = { 0x01010095, 0x01010096, 0x01010097, 0x01010098, 0x01010161, 0x01010162, 0x01010163, 0x01010164, 0x7f0300c6 };
+ public static final int[] TextAppearance = { 0x01010095, 0x01010096, 0x01010097, 0x01010098, 0x01010161, 0x01010162, 0x01010163, 0x01010164, 0x7f0300c7 };
public static final int TextAppearance_android_textSize = 0;
public static final int TextAppearance_android_typeface = 1;
public static final int TextAppearance_android_textStyle = 2;
@@ -1237,7 +1237,7 @@ public final class R {
public static final int TextAppearance_android_shadowDy = 6;
public static final int TextAppearance_android_shadowRadius = 7;
public static final int TextAppearance_textAllCaps = 8;
- public static final int[] Toolbar = { 0x010100af, 0x01010140, 0x7f030042, 0x7f030043, 0x7f03004e, 0x7f03004f, 0x7f030050, 0x7f030051, 0x7f030087, 0x7f030088, 0x7f030089, 0x7f03008c, 0x7f03008d, 0x7f030098, 0x7f0300bd, 0x7f0300be, 0x7f0300bf, 0x7f0300d4, 0x7f0300d5, 0x7f0300d6, 0x7f0300d7, 0x7f0300d8, 0x7f0300d9, 0x7f0300dc, 0x7f0300dd };
+ public static final int[] Toolbar = { 0x010100af, 0x01010140, 0x7f030042, 0x7f030043, 0x7f03004e, 0x7f03004f, 0x7f030050, 0x7f030051, 0x7f030088, 0x7f030089, 0x7f03008a, 0x7f03008d, 0x7f03008e, 0x7f030099, 0x7f0300be, 0x7f0300bf, 0x7f0300c0, 0x7f0300d5, 0x7f0300d6, 0x7f0300d7, 0x7f0300d8, 0x7f0300d9, 0x7f0300da, 0x7f0300dd, 0x7f0300de };
public static final int Toolbar_android_gravity = 0;
public static final int Toolbar_android_minHeight = 1;
public static final int Toolbar_collapseContentDescription = 2;
@@ -1263,7 +1263,7 @@ public final class R {
public static final int Toolbar_titleMargins = 22;
public static final int Toolbar_titleTextAppearance = 23;
public static final int Toolbar_titleTextColor = 24;
- public static final int[] View = { 0x01010000, 0x010100da, 0x7f030092, 0x7f030093, 0x7f0300d1 };
+ public static final int[] View = { 0x01010000, 0x010100da, 0x7f030093, 0x7f030094, 0x7f0300d2 };
public static final int View_android_theme = 0;
public static final int View_android_focusable = 1;
public static final int View_paddingEnd = 2;
diff --git a/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/de/bjusystems/vdrmanager/R.java b/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/de/bjusystems/vdrmanager/R.java
index 046eeec..4e678c4 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/de/bjusystems/vdrmanager/R.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/build/generated/source/r/debug/de/bjusystems/vdrmanager/R.java
@@ -890,55 +890,60 @@ public final class R {
*/
public static final int hideOnContentScroll=0x7f030070;
/**
+ * <p>May be a string value, using '\\;' to escape characters such as
+ * '\\n' or '\\uxxxx' for a unicode character;
+ */
+ public static final int hintText=0x7f030071;
+ /**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int homeAsUpIndicator=0x7f030071;
+ public static final int homeAsUpIndicator=0x7f030072;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int homeLayout=0x7f030072;
+ public static final int homeLayout=0x7f030073;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int icon=0x7f030073;
+ public static final int icon=0x7f030074;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int iconifiedByDefault=0x7f030074;
+ public static final int iconifiedByDefault=0x7f030075;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int imageButtonStyle=0x7f030075;
+ public static final int imageButtonStyle=0x7f030076;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int indeterminateProgressStyle=0x7f030076;
+ public static final int indeterminateProgressStyle=0x7f030077;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int initialActivityCount=0x7f030077;
+ public static final int initialActivityCount=0x7f030078;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int isLightTheme=0x7f030078;
+ public static final int isLightTheme=0x7f030079;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -946,61 +951,61 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int itemPadding=0x7f030079;
+ public static final int itemPadding=0x7f03007a;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int layout=0x7f03007a;
+ public static final int layout=0x7f03007b;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int layoutManager=0x7f03007b;
+ public static final int layoutManager=0x7f03007c;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int list=0x7f03007c;
+ public static final int list=0x7f03007d;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int listChoiceBackgroundIndicator=0x7f03007d;
+ public static final int listChoiceBackgroundIndicator=0x7f03007e;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int listDividerAlertDialog=0x7f03007e;
+ public static final int listDividerAlertDialog=0x7f03007f;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int listItemLayout=0x7f03007f;
+ public static final int listItemLayout=0x7f030080;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int listLayout=0x7f030080;
+ public static final int listLayout=0x7f030081;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int listPopupWindowStyle=0x7f030081;
+ public static final int listPopupWindowStyle=0x7f030082;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1008,7 +1013,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int listPreferredItemHeight=0x7f030082;
+ public static final int listPreferredItemHeight=0x7f030083;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1016,7 +1021,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int listPreferredItemHeightLarge=0x7f030083;
+ public static final int listPreferredItemHeightLarge=0x7f030084;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1024,7 +1029,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int listPreferredItemHeightSmall=0x7f030084;
+ public static final int listPreferredItemHeightSmall=0x7f030085;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1032,7 +1037,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int listPreferredItemPaddingLeft=0x7f030085;
+ public static final int listPreferredItemPaddingLeft=0x7f030086;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1040,19 +1045,19 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int listPreferredItemPaddingRight=0x7f030086;
+ public static final int listPreferredItemPaddingRight=0x7f030087;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int logo=0x7f030087;
+ public static final int logo=0x7f030088;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int logoDescription=0x7f030088;
+ public static final int logoDescription=0x7f030089;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1060,31 +1065,31 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int maxButtonHeight=0x7f030089;
+ public static final int maxButtonHeight=0x7f03008a;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int measureWithLargestChild=0x7f03008a;
+ public static final int measureWithLargestChild=0x7f03008b;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int multiChoiceItemLayout=0x7f03008b;
+ public static final int multiChoiceItemLayout=0x7f03008c;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int navigationContentDescription=0x7f03008c;
+ public static final int navigationContentDescription=0x7f03008d;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int navigationIcon=0x7f03008d;
+ public static final int navigationIcon=0x7f03008e;
/**
* <p>Must be one of the following constant values.</p>
* <table>
@@ -1097,12 +1102,12 @@ public final class R {
* <tr><td>tabMode</td><td>2</td><td></td></tr>
* </table>
*/
- public static final int navigationMode=0x7f03008e;
+ public static final int navigationMode=0x7f03008f;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int normalStateColor=0x7f03008f;
+ public static final int normalStateColor=0x7f030090;
/**
* <p>Must be one of the following constant values.</p>
* <table>
@@ -1114,12 +1119,12 @@ public final class R {
* <tr><td>vertical</td><td>1</td><td></td></tr>
* </table>
*/
- public static final int orientation=0x7f030090;
+ public static final int orientation=0x7f030091;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int overlapAnchor=0x7f030091;
+ public static final int overlapAnchor=0x7f030092;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1127,7 +1132,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int paddingEnd=0x7f030092;
+ public static final int paddingEnd=0x7f030093;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1135,21 +1140,21 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int paddingStart=0x7f030093;
+ public static final int paddingStart=0x7f030094;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int panelBackground=0x7f030094;
+ public static final int panelBackground=0x7f030095;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int panelMenuListTheme=0x7f030095;
+ public static final int panelMenuListTheme=0x7f030096;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1157,33 +1162,33 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int panelMenuListWidth=0x7f030096;
+ public static final int panelMenuListWidth=0x7f030097;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int popupMenuStyle=0x7f030097;
+ public static final int popupMenuStyle=0x7f030098;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int popupTheme=0x7f030098;
+ public static final int popupTheme=0x7f030099;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int popupWindowStyle=0x7f030099;
+ public static final int popupWindowStyle=0x7f03009a;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int preserveIconSpacing=0x7f03009a;
+ public static final int preserveIconSpacing=0x7f03009b;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1191,33 +1196,33 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int progressBarPadding=0x7f03009b;
+ public static final int progressBarPadding=0x7f03009c;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int progressBarStyle=0x7f03009c;
+ public static final int progressBarStyle=0x7f03009d;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int queryBackground=0x7f03009d;
+ public static final int queryBackground=0x7f03009e;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int queryHint=0x7f03009e;
+ public static final int queryHint=0x7f03009f;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int radioButtonStyle=0x7f03009f;
+ public static final int radioButtonStyle=0x7f0300a0;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1225,86 +1230,86 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int radius=0x7f0300a0;
+ public static final int radius=0x7f0300a1;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int ratingBarStyle=0x7f0300a1;
+ public static final int ratingBarStyle=0x7f0300a2;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int ratingBarStyleIndicator=0x7f0300a2;
+ public static final int ratingBarStyleIndicator=0x7f0300a3;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int ratingBarStyleSmall=0x7f0300a3;
+ public static final int ratingBarStyleSmall=0x7f0300a4;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int reverseLayout=0x7f0300a4;
+ public static final int reverseLayout=0x7f0300a5;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int searchHintIcon=0x7f0300a5;
+ public static final int searchHintIcon=0x7f0300a6;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int searchIcon=0x7f0300a6;
+ public static final int searchIcon=0x7f0300a7;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int searchViewStyle=0x7f0300a7;
+ public static final int searchViewStyle=0x7f0300a8;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int seekBarStyle=0x7f0300a8;
+ public static final int seekBarStyle=0x7f0300a9;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int selectableItemBackground=0x7f0300a9;
+ public static final int selectableItemBackground=0x7f0300aa;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int selectableItemBackgroundBorderless=0x7f0300aa;
+ public static final int selectableItemBackgroundBorderless=0x7f0300ab;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int selectedBold=0x7f0300ab;
+ public static final int selectedBold=0x7f0300ac;
/**
* <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int selectedColor=0x7f0300ac;
+ public static final int selectedColor=0x7f0300ad;
/**
* <p>Must be one or more (separated by '|') of the following constant values.</p>
* <table>
@@ -1319,7 +1324,7 @@ public final class R {
* <tr><td>withText</td><td>4</td><td></td></tr>
* </table>
*/
- public static final int showAsAction=0x7f0300ad;
+ public static final int showAsAction=0x7f0300ae;
/**
* <p>Must be one or more (separated by '|') of the following constant values.</p>
* <table>
@@ -1333,75 +1338,75 @@ public final class R {
* <tr><td>none</td><td>0</td><td></td></tr>
* </table>
*/
- public static final int showDividers=0x7f0300ae;
+ public static final int showDividers=0x7f0300af;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int showText=0x7f0300af;
+ public static final int showText=0x7f0300b0;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int singleChoiceItemLayout=0x7f0300b0;
+ public static final int singleChoiceItemLayout=0x7f0300b1;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int snap=0x7f0300b1;
+ public static final int snap=0x7f0300b2;
/**
* <p>May be an integer value, such as "<code>100</code>".
*/
- public static final int spanCount=0x7f0300b2;
+ public static final int spanCount=0x7f0300b3;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int spinBars=0x7f0300b3;
+ public static final int spinBars=0x7f0300b4;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int spinnerDropDownItemStyle=0x7f0300b4;
+ public static final int spinnerDropDownItemStyle=0x7f0300b5;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int spinnerStyle=0x7f0300b5;
+ public static final int spinnerStyle=0x7f0300b6;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int splitTrack=0x7f0300b6;
+ public static final int splitTrack=0x7f0300b7;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int srcCompat=0x7f0300b7;
+ public static final int srcCompat=0x7f0300b8;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int stackFromEnd=0x7f0300b8;
+ public static final int stackFromEnd=0x7f0300b9;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int state_above_anchor=0x7f0300b9;
+ public static final int state_above_anchor=0x7f0300ba;
/**
* <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int strokeColor=0x7f0300ba;
+ public static final int strokeColor=0x7f0300bb;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1409,46 +1414,46 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int strokeWidth=0x7f0300bb;
+ public static final int strokeWidth=0x7f0300bc;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int submitBackground=0x7f0300bc;
+ public static final int submitBackground=0x7f0300bd;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int subtitle=0x7f0300bd;
+ public static final int subtitle=0x7f0300be;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int subtitleTextAppearance=0x7f0300be;
+ public static final int subtitleTextAppearance=0x7f0300bf;
/**
* <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int subtitleTextColor=0x7f0300bf;
+ public static final int subtitleTextColor=0x7f0300c0;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int subtitleTextStyle=0x7f0300c0;
+ public static final int subtitleTextStyle=0x7f0300c1;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int suggestionRowLayout=0x7f0300c1;
+ public static final int suggestionRowLayout=0x7f0300c2;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1456,7 +1461,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int switchMinWidth=0x7f0300c2;
+ public static final int switchMinWidth=0x7f0300c3;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1464,21 +1469,21 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int switchPadding=0x7f0300c3;
+ public static final int switchPadding=0x7f0300c4;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int switchStyle=0x7f0300c4;
+ public static final int switchStyle=0x7f0300c5;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int switchTextAppearance=0x7f0300c5;
+ public static final int switchTextAppearance=0x7f0300c6;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
@@ -1487,55 +1492,55 @@ public final class R {
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int textAllCaps=0x7f0300c6;
+ public static final int textAllCaps=0x7f0300c7;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int textAppearanceLargePopupMenu=0x7f0300c7;
+ public static final int textAppearanceLargePopupMenu=0x7f0300c8;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int textAppearanceListItem=0x7f0300c8;
+ public static final int textAppearanceListItem=0x7f0300c9;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int textAppearanceListItemSmall=0x7f0300c9;
+ public static final int textAppearanceListItemSmall=0x7f0300ca;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int textAppearanceSearchResultSubtitle=0x7f0300ca;
+ public static final int textAppearanceSearchResultSubtitle=0x7f0300cb;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int textAppearanceSearchResultTitle=0x7f0300cb;
+ public static final int textAppearanceSearchResultTitle=0x7f0300cc;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int textAppearanceSmallPopupMenu=0x7f0300cc;
+ public static final int textAppearanceSmallPopupMenu=0x7f0300cd;
/**
* <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int textColor=0x7f0300cd;
+ public static final int textColor=0x7f0300ce;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
@@ -1545,7 +1550,7 @@ public final class R {
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int textColorAlertDialogListItem=0x7f0300ce;
+ public static final int textColorAlertDialogListItem=0x7f0300cf;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
@@ -1555,7 +1560,7 @@ public final class R {
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int textColorSearchUrl=0x7f0300cf;
+ public static final int textColorSearchUrl=0x7f0300d0;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1563,14 +1568,14 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int textSize=0x7f0300d0;
+ public static final int textSize=0x7f0300d1;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int theme=0x7f0300d1;
+ public static final int theme=0x7f0300d2;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1578,7 +1583,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int thickness=0x7f0300d2;
+ public static final int thickness=0x7f0300d3;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1586,12 +1591,12 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int thumbTextPadding=0x7f0300d3;
+ public static final int thumbTextPadding=0x7f0300d4;
/**
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*/
- public static final int title=0x7f0300d4;
+ public static final int title=0x7f0300d5;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1599,7 +1604,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int titleMarginBottom=0x7f0300d5;
+ public static final int titleMarginBottom=0x7f0300d6;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1607,7 +1612,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int titleMarginEnd=0x7f0300d6;
+ public static final int titleMarginEnd=0x7f0300d7;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1615,7 +1620,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int titleMarginStart=0x7f0300d7;
+ public static final int titleMarginStart=0x7f0300d8;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1623,7 +1628,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int titleMarginTop=0x7f0300d8;
+ public static final int titleMarginTop=0x7f0300d9;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1631,7 +1636,7 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int titleMargins=0x7f0300d9;
+ public static final int titleMargins=0x7f0300da;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1639,48 +1644,48 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int titlePadding=0x7f0300da;
+ public static final int titlePadding=0x7f0300db;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int titlePageIndicatorStyle=0x7f0300db;
+ public static final int titlePageIndicatorStyle=0x7f0300dc;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int titleTextAppearance=0x7f0300dc;
+ public static final int titleTextAppearance=0x7f0300dd;
/**
* <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
* "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
* "<code>#<i>aarrggbb</i></code>".
*/
- public static final int titleTextColor=0x7f0300dd;
+ public static final int titleTextColor=0x7f0300de;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int titleTextStyle=0x7f0300de;
+ public static final int titleTextStyle=0x7f0300df;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int toolbarNavigationButtonStyle=0x7f0300df;
+ public static final int toolbarNavigationButtonStyle=0x7f0300e0;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int toolbarStyle=0x7f0300e0;
+ public static final int toolbarStyle=0x7f0300e1;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1688,36 +1693,36 @@ public final class R {
* sp (scaled pixels based on preferred font size), in (inches), and
* mm (millimeters).
*/
- public static final int topPadding=0x7f0300e1;
+ public static final int topPadding=0x7f0300e2;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int track=0x7f0300e2;
+ public static final int track=0x7f0300e3;
/**
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*/
- public static final int voiceIcon=0x7f0300e3;
+ public static final int voiceIcon=0x7f0300e4;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int windowActionBar=0x7f0300e4;
+ public static final int windowActionBar=0x7f0300e5;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int windowActionBarOverlay=0x7f0300e5;
+ public static final int windowActionBarOverlay=0x7f0300e6;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int windowActionModeOverlay=0x7f0300e6;
+ public static final int windowActionModeOverlay=0x7f0300e7;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1729,7 +1734,7 @@ public final class R {
* The % suffix always means a percentage of the base size;
* the optional %p suffix provides a size relative to some parent container.
*/
- public static final int windowFixedHeightMajor=0x7f0300e7;
+ public static final int windowFixedHeightMajor=0x7f0300e8;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1741,7 +1746,7 @@ public final class R {
* The % suffix always means a percentage of the base size;
* the optional %p suffix provides a size relative to some parent container.
*/
- public static final int windowFixedHeightMinor=0x7f0300e8;
+ public static final int windowFixedHeightMinor=0x7f0300e9;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1753,7 +1758,7 @@ public final class R {
* The % suffix always means a percentage of the base size;
* the optional %p suffix provides a size relative to some parent container.
*/
- public static final int windowFixedWidthMajor=0x7f0300e9;
+ public static final int windowFixedWidthMajor=0x7f0300ea;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1765,7 +1770,7 @@ public final class R {
* The % suffix always means a percentage of the base size;
* the optional %p suffix provides a size relative to some parent container.
*/
- public static final int windowFixedWidthMinor=0x7f0300ea;
+ public static final int windowFixedWidthMinor=0x7f0300eb;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1777,7 +1782,7 @@ public final class R {
* The % suffix always means a percentage of the base size;
* the optional %p suffix provides a size relative to some parent container.
*/
- public static final int windowMinWidthMajor=0x7f0300eb;
+ public static final int windowMinWidthMajor=0x7f0300ec;
/**
* <p>May be a dimension value, which is a floating point number appended with a
* unit such as "<code>14.5sp</code>".
@@ -1789,12 +1794,12 @@ public final class R {
* The % suffix always means a percentage of the base size;
* the optional %p suffix provides a size relative to some parent container.
*/
- public static final int windowMinWidthMinor=0x7f0300ec;
+ public static final int windowMinWidthMinor=0x7f0300ed;
/**
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*/
- public static final int windowNoTitle=0x7f0300ed;
+ public static final int windowNoTitle=0x7f0300ee;
}
public static final class bool {
public static final int abc_action_bar_embed_tabs=0x7f040000;
@@ -1960,31 +1965,33 @@ public final class R {
public static final int abc_text_size_subtitle_material_toolbar=0x7f060040;
public static final int abc_text_size_title_material=0x7f060041;
public static final int abc_text_size_title_material_toolbar=0x7f060042;
- public static final int default_circle_indicator_radius=0x7f060043;
- public static final int default_circle_indicator_stroke_width=0x7f060044;
- public static final int default_title_indicator_clip_padding=0x7f060045;
- public static final int default_title_indicator_footer_indicator_height=0x7f060046;
- public static final int default_title_indicator_footer_indicator_underline_padding=0x7f060047;
- public static final int default_title_indicator_footer_line_height=0x7f060048;
- public static final int default_title_indicator_footer_padding=0x7f060049;
- public static final int default_title_indicator_text_size=0x7f06004a;
- public static final int default_title_indicator_title_padding=0x7f06004b;
- public static final int default_title_indicator_top_padding=0x7f06004c;
- public static final int disabled_alpha_material_dark=0x7f06004d;
- public static final int disabled_alpha_material_light=0x7f06004e;
- public static final int highlight_alpha_material_colored=0x7f06004f;
- public static final int highlight_alpha_material_dark=0x7f060050;
- public static final int highlight_alpha_material_light=0x7f060051;
- public static final int item_height=0x7f060052;
- public static final int item_inset=0x7f060053;
- public static final int item_margin=0x7f060054;
- public static final int item_touch_helper_max_drag_scroll_per_frame=0x7f060055;
- public static final int item_touch_helper_swipe_escape_max_velocity=0x7f060056;
- public static final int item_touch_helper_swipe_escape_velocity=0x7f060057;
- public static final int notification_large_icon_height=0x7f060058;
- public static final int notification_large_icon_width=0x7f060059;
- public static final int notification_subtext_size=0x7f06005a;
- public static final int recycler_height=0x7f06005b;
+ public static final int color_picker_center=0x7f060043;
+ public static final int color_picker_radius=0x7f060044;
+ public static final int default_circle_indicator_radius=0x7f060045;
+ public static final int default_circle_indicator_stroke_width=0x7f060046;
+ public static final int default_title_indicator_clip_padding=0x7f060047;
+ public static final int default_title_indicator_footer_indicator_height=0x7f060048;
+ public static final int default_title_indicator_footer_indicator_underline_padding=0x7f060049;
+ public static final int default_title_indicator_footer_line_height=0x7f06004a;
+ public static final int default_title_indicator_footer_padding=0x7f06004b;
+ public static final int default_title_indicator_text_size=0x7f06004c;
+ public static final int default_title_indicator_title_padding=0x7f06004d;
+ public static final int default_title_indicator_top_padding=0x7f06004e;
+ public static final int disabled_alpha_material_dark=0x7f06004f;
+ public static final int disabled_alpha_material_light=0x7f060050;
+ public static final int highlight_alpha_material_colored=0x7f060051;
+ public static final int highlight_alpha_material_dark=0x7f060052;
+ public static final int highlight_alpha_material_light=0x7f060053;
+ public static final int item_height=0x7f060054;
+ public static final int item_inset=0x7f060055;
+ public static final int item_margin=0x7f060056;
+ public static final int item_touch_helper_max_drag_scroll_per_frame=0x7f060057;
+ public static final int item_touch_helper_swipe_escape_max_velocity=0x7f060058;
+ public static final int item_touch_helper_swipe_escape_velocity=0x7f060059;
+ public static final int notification_large_icon_height=0x7f06005a;
+ public static final int notification_large_icon_width=0x7f06005b;
+ public static final int notification_subtext_size=0x7f06005c;
+ public static final int recycler_height=0x7f06005d;
}
public static final class drawable {
public static final int abc_ab_share_pack_mtrl_alpha=0x7f070000;
@@ -2166,245 +2173,250 @@ public final class R {
public static final int beginning=0x7f080020;
public static final int blue=0x7f080021;
public static final int button=0x7f080022;
- public static final int button6=0x7f080023;
- public static final int button7=0x7f080024;
- public static final int buttonPanel=0x7f080025;
- public static final int cancel_action=0x7f080026;
- public static final int channel_audio=0x7f080027;
- public static final int channel_aux=0x7f080028;
- public static final int channel_count=0x7f080029;
- public static final int channel_group_menu_hide=0x7f08002a;
- public static final int channel_group_menu_hide_permanent=0x7f08002b;
- public static final int channel_info=0x7f08002c;
- public static final int channel_item=0x7f08002d;
- public static final int channel_item_menu_stream=0x7f08002e;
- public static final int channel_item_menu_switch=0x7f08002f;
- public static final int channel_list=0x7f080030;
- public static final int channel_name=0x7f080031;
- public static final int channel_type=0x7f080032;
- public static final int channels_groupby=0x7f080033;
- public static final int channels_recent_channels=0x7f080034;
- public static final int checkbox=0x7f080035;
- public static final int chronometer=0x7f080036;
- public static final int collapseActionView=0x7f080037;
- public static final int colorButtons=0x7f080038;
- public static final int contentPanel=0x7f080039;
- public static final int count=0x7f08003a;
- public static final int current_count=0x7f08003b;
- public static final int custom=0x7f08003c;
- public static final int customPanel=0x7f08003d;
- public static final int decor_content_parent=0x7f08003e;
- public static final int default_activity_button=0x7f08003f;
- public static final int disableHome=0x7f080040;
- public static final int down=0x7f080041;
- public static final int drawer_layout=0x7f080042;
- public static final int drive_info=0x7f080043;
- public static final int drive_info_pb=0x7f080044;
- public static final int driver_info_container=0x7f080045;
- public static final int edit=0x7f080046;
- public static final int edit_query=0x7f080047;
- public static final int empty_view=0x7f080048;
- public static final int end=0x7f080049;
- public static final int end_padder=0x7f08004a;
- public static final int epg_detail_audio=0x7f08004b;
- public static final int epg_detail_cats=0x7f08004c;
- public static final int epg_detail_channel=0x7f08004d;
- public static final int epg_detail_description=0x7f08004e;
- public static final int epg_detail_description_scroll=0x7f08004f;
- public static final int epg_detail_duration=0x7f080050;
- public static final int epg_detail_progress=0x7f080051;
- public static final int epg_detail_separator_0=0x7f080052;
- public static final int epg_detail_separator_2=0x7f080053;
- public static final int epg_detail_separator_3=0x7f080054;
- public static final int epg_detail_shorttext=0x7f080055;
- public static final int epg_detail_time=0x7f080056;
- public static final int epg_detail_time_channel=0x7f080057;
- public static final int epg_detail_title=0x7f080058;
- public static final int epg_details_menu_add_to_cal=0x7f080059;
- public static final int epg_details_menu_search_repeat=0x7f08005a;
- public static final int epg_details_menu_share=0x7f08005b;
- public static final int epg_details_menu_switch=0x7f08005c;
- public static final int epg_event_create_timer=0x7f08005d;
- public static final int epg_event_imdb=0x7f08005e;
- public static final int epg_event_livetv=0x7f08005f;
- public static final int epg_event_omdb=0x7f080060;
- public static final int epg_event_tmdb=0x7f080061;
- public static final int epg_item_menu_live_tv=0x7f080062;
- public static final int epg_item_menu_switchto=0x7f080063;
- public static final int epg_item_menu_timer_add=0x7f080064;
- public static final int epg_item_menu_timer_delete=0x7f080065;
- public static final int epg_item_menu_timer_modify=0x7f080066;
- public static final int epg_item_menu_timer_toggle=0x7f080067;
- public static final int epg_list_channel_spinner=0x7f080068;
- public static final int epg_list_search_label=0x7f080069;
- public static final int epg_list_sort_menu=0x7f08006a;
- public static final int epg_list_stream=0x7f08006b;
- public static final int epg_list_time_label=0x7f08006c;
- public static final int epg_list_time_spinner=0x7f08006d;
- public static final int epg_list_times=0x7f08006e;
- public static final int epg_search=0x7f08006f;
- public static final int epg_search_button=0x7f080070;
- public static final int epg_search_text=0x7f080071;
- public static final int epg_search_time_delete=0x7f080072;
- public static final int epg_search_times_add=0x7f080073;
- public static final int epg_search_times_list=0x7f080074;
- public static final int epg_search_title=0x7f080075;
- public static final int epg_timer_state=0x7f080076;
- public static final int event_item_description=0x7f080077;
- public static final int expand_activities_button=0x7f080078;
- public static final int expanded_menu=0x7f080079;
- public static final int exprt=0x7f08007a;
- public static final int filter=0x7f08007b;
- public static final int first_row=0x7f08007c;
- public static final int flipper=0x7f08007d;
- public static final int folder_info=0x7f08007e;
- public static final int green=0x7f08007f;
- public static final int group_name=0x7f080080;
- public static final int header_item=0x7f080081;
- public static final int hitk=0x7f080082;
- public static final int hitkLabel=0x7f080083;
- public static final int hitkSpinner=0x7f080084;
- public static final int home=0x7f080085;
- public static final int homeAsUp=0x7f080086;
- public static final int horizontal=0x7f080087;
- public static final int icon=0x7f080088;
- public static final int ifRoom=0x7f080089;
- public static final int image=0x7f08008a;
- public static final int imprt=0x7f08008b;
- public static final int info=0x7f08008c;
- public static final int item_touch_helper_previous_elevation=0x7f08008d;
- public static final int layout=0x7f08008e;
- public static final int left=0x7f08008f;
- public static final int left_drawer=0x7f080090;
- public static final int line1=0x7f080091;
- public static final int line3=0x7f080092;
- public static final int list=0x7f080093;
- public static final int listMode=0x7f080094;
- public static final int list_filter=0x7f080095;
- public static final int list_item=0x7f080096;
- public static final int list_refresh=0x7f080097;
- public static final int main_content=0x7f080098;
- public static final int main_logo=0x7f080099;
- public static final int main_menu_clear_search=0x7f08009a;
- public static final int main_menu_exit=0x7f08009b;
- public static final int main_menu_goto=0x7f08009c;
- public static final int main_menu_info=0x7f08009d;
- public static final int main_menu_preferences=0x7f08009e;
- public static final int main_menu_vdrlist_restore=0x7f08009f;
- public static final int media_actions=0x7f0800a0;
- public static final int menu_search=0x7f0800a1;
- public static final int middle=0x7f0800a2;
- public static final int multiply=0x7f0800a3;
- public static final int navigation=0x7f0800a4;
- public static final int never=0x7f0800a5;
- public static final int new_vdr=0x7f0800a6;
- public static final int no_connection_layout=0x7f0800a7;
- public static final int none=0x7f0800a8;
- public static final int normal=0x7f0800a9;
- public static final int ok=0x7f0800aa;
- public static final int parentPanel=0x7f0800ab;
- public static final int progress_circular=0x7f0800ac;
- public static final int progress_horizontal=0x7f0800ad;
- public static final int radio=0x7f0800ae;
- public static final int rec_folder_info=0x7f0800af;
- public static final int recording_item_menu_delete=0x7f0800b0;
- public static final int recording_item_menu_stream=0x7f0800b1;
- public static final int recording_list=0x7f0800b2;
- public static final int red=0x7f0800b3;
- public static final int remapback=0x7f0800b4;
- public static final int remoteroot=0x7f0800b5;
- public static final int reset=0x7f0800b6;
- public static final int result=0x7f0800b7;
- public static final int resultwrapper=0x7f0800b8;
- public static final int retry_button=0x7f0800b9;
- public static final int right=0x7f0800ba;
- public static final int root=0x7f0800bb;
- public static final int rows0=0x7f0800bc;
- public static final int rows1=0x7f0800bd;
- public static final int rows2=0x7f0800be;
- public static final int screen=0x7f0800bf;
- public static final int scrollIndicatorDown=0x7f0800c0;
- public static final int scrollIndicatorUp=0x7f0800c1;
- public static final int scrollView=0x7f0800c2;
- public static final int search_badge=0x7f0800c3;
- public static final int search_bar=0x7f0800c4;
- public static final int search_box=0x7f0800c5;
- public static final int search_button=0x7f0800c6;
- public static final int search_close_btn=0x7f0800c7;
- public static final int search_edit_frame=0x7f0800c8;
- public static final int search_go_btn=0x7f0800c9;
- public static final int search_mag_icon=0x7f0800ca;
- public static final int search_plate=0x7f0800cb;
- public static final int search_src_text=0x7f0800cc;
- public static final int search_voice_btn=0x7f0800cd;
- public static final int select_dialog_listview=0x7f0800ce;
- public static final int shortcut=0x7f0800cf;
- public static final int showCustom=0x7f0800d0;
- public static final int showHome=0x7f0800d1;
- public static final int showTitle=0x7f0800d2;
- public static final int spacer=0x7f0800d3;
- public static final int split_action_bar=0x7f0800d4;
- public static final int src_atop=0x7f0800d5;
- public static final int src_in=0x7f0800d6;
- public static final int src_over=0x7f0800d7;
- public static final int status_bar_latest_event_content=0x7f0800d8;
- public static final int submit_area=0x7f0800d9;
- public static final int switch_epg_view=0x7f0800da;
- public static final int tabMode=0x7f0800db;
- public static final int text=0x7f0800dc;
- public static final int text2=0x7f0800dd;
- public static final int textSpacerNoButtons=0x7f0800de;
- public static final int time=0x7f0800df;
- public static final int timer_block=0x7f0800e0;
- public static final int timer_detail_channel=0x7f0800e1;
- public static final int timer_detail_channel_title=0x7f0800e2;
- public static final int timer_detail_day=0x7f0800e3;
- public static final int timer_detail_end=0x7f0800e4;
- public static final int timer_detail_end_title=0x7f0800e5;
- public static final int timer_detail_fill=0x7f0800e6;
- public static final int timer_detail_layout=0x7f0800e7;
- public static final int timer_detail_lifetime=0x7f0800e8;
- public static final int timer_detail_priority=0x7f0800e9;
- public static final int timer_detail_repeat=0x7f0800ea;
- public static final int timer_detail_scroll=0x7f0800eb;
- public static final int timer_detail_start=0x7f0800ec;
- public static final int timer_detail_start_daytime=0x7f0800ed;
- public static final int timer_detail_start_title=0x7f0800ee;
- public static final int timer_detail_title=0x7f0800ef;
- public static final int timer_detail_title_title=0x7f0800f0;
- public static final int timer_detail_vps=0x7f0800f1;
- public static final int timer_details_cancel=0x7f0800f2;
- public static final int timer_details_modify=0x7f0800f3;
- public static final int timer_details_save=0x7f0800f4;
- public static final int timer_item=0x7f0800f5;
- public static final int timer_item_channel=0x7f0800f6;
- public static final int timer_item_duration=0x7f0800f7;
- public static final int timer_item_other=0x7f0800f8;
- public static final int timer_item_shorttext=0x7f0800f9;
- public static final int timer_item_state=0x7f0800fa;
- public static final int timer_item_time=0x7f0800fb;
- public static final int timer_item_title=0x7f0800fc;
- public static final int timer_list=0x7f0800fd;
- public static final int timer_menu_add=0x7f0800fe;
- public static final int timer_progress=0x7f0800ff;
- public static final int title=0x7f080100;
- public static final int title_template=0x7f080101;
- public static final int topPanel=0x7f080102;
- public static final int triangle=0x7f080103;
- public static final int underline=0x7f080104;
- public static final int up=0x7f080105;
- public static final int useLogo=0x7f080106;
- public static final int vdr_list=0x7f080107;
- public static final int vdrmanager_menu_item=0x7f080108;
- public static final int vertical=0x7f080109;
- public static final int video_button=0x7f08010a;
- public static final int video_video=0x7f08010b;
- public static final int viewpager=0x7f08010c;
- public static final int whatson_list=0x7f08010d;
- public static final int whatson_time=0x7f08010e;
- public static final int withText=0x7f08010f;
- public static final int wrap_content=0x7f080110;
- public static final int yellow=0x7f080111;
+ public static final int buttonPanel=0x7f080023;
+ public static final int cancel_action=0x7f080024;
+ public static final int channel_audio=0x7f080025;
+ public static final int channel_aux=0x7f080026;
+ public static final int channel_count=0x7f080027;
+ public static final int channel_group_menu_hide=0x7f080028;
+ public static final int channel_group_menu_hide_permanent=0x7f080029;
+ public static final int channel_info=0x7f08002a;
+ public static final int channel_item=0x7f08002b;
+ public static final int channel_item_menu_stream=0x7f08002c;
+ public static final int channel_item_menu_switch=0x7f08002d;
+ public static final int channel_list=0x7f08002e;
+ public static final int channel_name=0x7f08002f;
+ public static final int channel_type=0x7f080030;
+ public static final int channels_groupby=0x7f080031;
+ public static final int channels_recent_channels=0x7f080032;
+ public static final int checkbox=0x7f080033;
+ public static final int chronometer=0x7f080034;
+ public static final int collapseActionView=0x7f080035;
+ public static final int colorButtons=0x7f080036;
+ public static final int contentPanel=0x7f080037;
+ public static final int count=0x7f080038;
+ public static final int current_count=0x7f080039;
+ public static final int custom=0x7f08003a;
+ public static final int customPanel=0x7f08003b;
+ public static final int decor_content_parent=0x7f08003c;
+ public static final int default_activity_button=0x7f08003d;
+ public static final int disableHome=0x7f08003e;
+ public static final int down=0x7f08003f;
+ public static final int drawer_layout=0x7f080040;
+ public static final int drive_info=0x7f080041;
+ public static final int drive_info_pb=0x7f080042;
+ public static final int driver_info_container=0x7f080043;
+ public static final int edit=0x7f080044;
+ public static final int edit_query=0x7f080045;
+ public static final int empty_view=0x7f080046;
+ public static final int end=0x7f080047;
+ public static final int end_padder=0x7f080048;
+ public static final int epg_detail_audio=0x7f080049;
+ public static final int epg_detail_cats=0x7f08004a;
+ public static final int epg_detail_channel=0x7f08004b;
+ public static final int epg_detail_description=0x7f08004c;
+ public static final int epg_detail_description_scroll=0x7f08004d;
+ public static final int epg_detail_duration=0x7f08004e;
+ public static final int epg_detail_progress=0x7f08004f;
+ public static final int epg_detail_separator_0=0x7f080050;
+ public static final int epg_detail_separator_2=0x7f080051;
+ public static final int epg_detail_separator_3=0x7f080052;
+ public static final int epg_detail_shorttext=0x7f080053;
+ public static final int epg_detail_time=0x7f080054;
+ public static final int epg_detail_time_channel=0x7f080055;
+ public static final int epg_detail_title=0x7f080056;
+ public static final int epg_details_menu_add_to_cal=0x7f080057;
+ public static final int epg_details_menu_search_repeat=0x7f080058;
+ public static final int epg_details_menu_share=0x7f080059;
+ public static final int epg_details_menu_switch=0x7f08005a;
+ public static final int epg_event_create_timer=0x7f08005b;
+ public static final int epg_event_imdb=0x7f08005c;
+ public static final int epg_event_livetv=0x7f08005d;
+ public static final int epg_event_omdb=0x7f08005e;
+ public static final int epg_event_tmdb=0x7f08005f;
+ public static final int epg_item_menu_live_tv=0x7f080060;
+ public static final int epg_item_menu_switchto=0x7f080061;
+ public static final int epg_item_menu_timer_add=0x7f080062;
+ public static final int epg_item_menu_timer_delete=0x7f080063;
+ public static final int epg_item_menu_timer_modify=0x7f080064;
+ public static final int epg_item_menu_timer_toggle=0x7f080065;
+ public static final int epg_list_channel_spinner=0x7f080066;
+ public static final int epg_list_search_label=0x7f080067;
+ public static final int epg_list_sort_menu=0x7f080068;
+ public static final int epg_list_stream=0x7f080069;
+ public static final int epg_list_time_label=0x7f08006a;
+ public static final int epg_list_time_spinner=0x7f08006b;
+ public static final int epg_list_times=0x7f08006c;
+ public static final int epg_search=0x7f08006d;
+ public static final int epg_search_button=0x7f08006e;
+ public static final int epg_search_text=0x7f08006f;
+ public static final int epg_search_time_delete=0x7f080070;
+ public static final int epg_search_times_add=0x7f080071;
+ public static final int epg_search_times_list=0x7f080072;
+ public static final int epg_search_title=0x7f080073;
+ public static final int epg_timer_state=0x7f080074;
+ public static final int event_item_description=0x7f080075;
+ public static final int expand_activities_button=0x7f080076;
+ public static final int expanded_menu=0x7f080077;
+ public static final int exprt=0x7f080078;
+ public static final int faItems=0x7f080079;
+ public static final int faPicker=0x7f08007a;
+ public static final int faSearch=0x7f08007b;
+ public static final int filter=0x7f08007c;
+ public static final int first_row=0x7f08007d;
+ public static final int flipper=0x7f08007e;
+ public static final int folder_info=0x7f08007f;
+ public static final int green=0x7f080080;
+ public static final int group_name=0x7f080081;
+ public static final int header_item=0x7f080082;
+ public static final int hitk=0x7f080083;
+ public static final int hitkLabel=0x7f080084;
+ public static final int hitkLabelColorPicker=0x7f080085;
+ public static final int hitkSpinner=0x7f080086;
+ public static final int home=0x7f080087;
+ public static final int homeAsUp=0x7f080088;
+ public static final int horizontal=0x7f080089;
+ public static final int icon=0x7f08008a;
+ public static final int ifRoom=0x7f08008b;
+ public static final int image=0x7f08008c;
+ public static final int imprt=0x7f08008d;
+ public static final int info=0x7f08008e;
+ public static final int item_touch_helper_previous_elevation=0x7f08008f;
+ public static final int layout=0x7f080090;
+ public static final int left=0x7f080091;
+ public static final int left_drawer=0x7f080092;
+ public static final int line1=0x7f080093;
+ public static final int line3=0x7f080094;
+ public static final int list=0x7f080095;
+ public static final int listItems=0x7f080096;
+ public static final int listMode=0x7f080097;
+ public static final int list_filter=0x7f080098;
+ public static final int list_item=0x7f080099;
+ public static final int list_refresh=0x7f08009a;
+ public static final int main_content=0x7f08009b;
+ public static final int main_logo=0x7f08009c;
+ public static final int main_menu_clear_search=0x7f08009d;
+ public static final int main_menu_exit=0x7f08009e;
+ public static final int main_menu_goto=0x7f08009f;
+ public static final int main_menu_info=0x7f0800a0;
+ public static final int main_menu_preferences=0x7f0800a1;
+ public static final int main_menu_vdrlist_restore=0x7f0800a2;
+ public static final int media_actions=0x7f0800a3;
+ public static final int menu_search=0x7f0800a4;
+ public static final int middle=0x7f0800a5;
+ public static final int multiply=0x7f0800a6;
+ public static final int navigation=0x7f0800a7;
+ public static final int never=0x7f0800a8;
+ public static final int new_vdr=0x7f0800a9;
+ public static final int no_connection_layout=0x7f0800aa;
+ public static final int none=0x7f0800ab;
+ public static final int normal=0x7f0800ac;
+ public static final int ok=0x7f0800ad;
+ public static final int parentPanel=0x7f0800ae;
+ public static final int progress_circular=0x7f0800af;
+ public static final int progress_horizontal=0x7f0800b0;
+ public static final int radio=0x7f0800b1;
+ public static final int rec_folder_info=0x7f0800b2;
+ public static final int recording_item_menu_delete=0x7f0800b3;
+ public static final int recording_item_menu_stream=0x7f0800b4;
+ public static final int recording_list=0x7f0800b5;
+ public static final int red=0x7f0800b6;
+ public static final int remapback=0x7f0800b7;
+ public static final int remoteroot=0x7f0800b8;
+ public static final int reset=0x7f0800b9;
+ public static final int result=0x7f0800ba;
+ public static final int resultwrapper=0x7f0800bb;
+ public static final int retry_button=0x7f0800bc;
+ public static final int right=0x7f0800bd;
+ public static final int root=0x7f0800be;
+ public static final int rows0=0x7f0800bf;
+ public static final int rows1=0x7f0800c0;
+ public static final int rows2=0x7f0800c1;
+ public static final int screen=0x7f0800c2;
+ public static final int scrollIndicatorDown=0x7f0800c3;
+ public static final int scrollIndicatorUp=0x7f0800c4;
+ public static final int scrollView=0x7f0800c5;
+ public static final int search=0x7f0800c6;
+ public static final int search_badge=0x7f0800c7;
+ public static final int search_bar=0x7f0800c8;
+ public static final int search_box=0x7f0800c9;
+ public static final int search_button=0x7f0800ca;
+ public static final int search_close_btn=0x7f0800cb;
+ public static final int search_edit_frame=0x7f0800cc;
+ public static final int search_go_btn=0x7f0800cd;
+ public static final int search_mag_icon=0x7f0800ce;
+ public static final int search_plate=0x7f0800cf;
+ public static final int search_src_text=0x7f0800d0;
+ public static final int search_voice_btn=0x7f0800d1;
+ public static final int select_dialog_listview=0x7f0800d2;
+ public static final int shortcut=0x7f0800d3;
+ public static final int showCustom=0x7f0800d4;
+ public static final int showHome=0x7f0800d5;
+ public static final int showTitle=0x7f0800d6;
+ public static final int spacer=0x7f0800d7;
+ public static final int spinner=0x7f0800d8;
+ public static final int split_action_bar=0x7f0800d9;
+ public static final int src_atop=0x7f0800da;
+ public static final int src_in=0x7f0800db;
+ public static final int src_over=0x7f0800dc;
+ public static final int status_bar_latest_event_content=0x7f0800dd;
+ public static final int submit_area=0x7f0800de;
+ public static final int switch_epg_view=0x7f0800df;
+ public static final int tabMode=0x7f0800e0;
+ public static final int text=0x7f0800e1;
+ public static final int text2=0x7f0800e2;
+ public static final int textSpacerNoButtons=0x7f0800e3;
+ public static final int time=0x7f0800e4;
+ public static final int timer_block=0x7f0800e5;
+ public static final int timer_detail_channel=0x7f0800e6;
+ public static final int timer_detail_channel_title=0x7f0800e7;
+ public static final int timer_detail_day=0x7f0800e8;
+ public static final int timer_detail_end=0x7f0800e9;
+ public static final int timer_detail_end_title=0x7f0800ea;
+ public static final int timer_detail_fill=0x7f0800eb;
+ public static final int timer_detail_layout=0x7f0800ec;
+ public static final int timer_detail_lifetime=0x7f0800ed;
+ public static final int timer_detail_priority=0x7f0800ee;
+ public static final int timer_detail_repeat=0x7f0800ef;
+ public static final int timer_detail_scroll=0x7f0800f0;
+ public static final int timer_detail_start=0x7f0800f1;
+ public static final int timer_detail_start_daytime=0x7f0800f2;
+ public static final int timer_detail_start_title=0x7f0800f3;
+ public static final int timer_detail_title=0x7f0800f4;
+ public static final int timer_detail_title_title=0x7f0800f5;
+ public static final int timer_detail_vps=0x7f0800f6;
+ public static final int timer_details_cancel=0x7f0800f7;
+ public static final int timer_details_modify=0x7f0800f8;
+ public static final int timer_details_save=0x7f0800f9;
+ public static final int timer_item=0x7f0800fa;
+ public static final int timer_item_channel=0x7f0800fb;
+ public static final int timer_item_duration=0x7f0800fc;
+ public static final int timer_item_other=0x7f0800fd;
+ public static final int timer_item_shorttext=0x7f0800fe;
+ public static final int timer_item_state=0x7f0800ff;
+ public static final int timer_item_time=0x7f080100;
+ public static final int timer_item_title=0x7f080101;
+ public static final int timer_list=0x7f080102;
+ public static final int timer_menu_add=0x7f080103;
+ public static final int timer_progress=0x7f080104;
+ public static final int title=0x7f080105;
+ public static final int title_template=0x7f080106;
+ public static final int topPanel=0x7f080107;
+ public static final int triangle=0x7f080108;
+ public static final int underline=0x7f080109;
+ public static final int up=0x7f08010a;
+ public static final int useLogo=0x7f08010b;
+ public static final int vdr_list=0x7f08010c;
+ public static final int vdrmanager_menu_item=0x7f08010d;
+ public static final int vertical=0x7f08010e;
+ public static final int video_button=0x7f08010f;
+ public static final int video_video=0x7f080110;
+ public static final int viewpager=0x7f080111;
+ public static final int whatson_list=0x7f080112;
+ public static final int whatson_time=0x7f080113;
+ public static final int withText=0x7f080114;
+ public static final int wrap_content=0x7f080115;
+ public static final int yellow=0x7f080116;
}
public static final class integer {
public static final int abc_config_activityDefaultDur=0x7f090000;
@@ -2456,40 +2468,45 @@ public final class R {
public static final int epg_search_times_list=0x7f0a0024;
public static final int epgdetails=0x7f0a0025;
public static final int event_epg_list=0x7f0a0026;
- public static final int fetch_preference=0x7f0a0027;
- public static final int folder_item=0x7f0a0028;
- public static final int group_layout=0x7f0a0029;
- public static final int header_item=0x7f0a002a;
- public static final int left_drawer=0x7f0a002b;
- public static final int main=0x7f0a002c;
- public static final int no_connection=0x7f0a002d;
- public static final int notification_media_action=0x7f0a002e;
- public static final int notification_media_cancel_action=0x7f0a002f;
- public static final int notification_template_big_media=0x7f0a0030;
- public static final int notification_template_big_media_narrow=0x7f0a0031;
- public static final int notification_template_lines=0x7f0a0032;
- public static final int notification_template_media=0x7f0a0033;
- public static final int notification_template_part_chronometer=0x7f0a0034;
- public static final int notification_template_part_time=0x7f0a0035;
- public static final int recording_detail=0x7f0a0036;
- public static final int recording_list=0x7f0a0037;
- public static final int recycler_buffer_item=0x7f0a0038;
- public static final int recycler_itemviews=0x7f0a0039;
- public static final int remote=0x7f0a003a;
- public static final int search_epg_list=0x7f0a003b;
- public static final int select_dialog_item_material=0x7f0a003c;
- public static final int select_dialog_multichoice_material=0x7f0a003d;
- public static final int select_dialog_singlechoice_material=0x7f0a003e;
- public static final int support_simple_spinner_dropdown_item=0x7f0a003f;
- public static final int time_epg_list=0x7f0a0040;
- public static final int timer_detail=0x7f0a0041;
- public static final int timer_list=0x7f0a0042;
- public static final int timer_operation_list_item=0x7f0a0043;
- public static final int vdr_list_add_delete=0x7f0a0044;
- public static final int vdrlist=0x7f0a0045;
- public static final int vdrmanager=0x7f0a0046;
- public static final int vdrmanager_menu_item=0x7f0a0047;
- public static final int video=0x7f0a0048;
+ public static final int fa_search=0x7f0a0027;
+ public static final int fetch_preference=0x7f0a0028;
+ public static final int folder_item=0x7f0a0029;
+ public static final int group_layout=0x7f0a002a;
+ public static final int header_item=0x7f0a002b;
+ public static final int left_drawer=0x7f0a002c;
+ public static final int main=0x7f0a002d;
+ public static final int no_connection=0x7f0a002e;
+ public static final int notification_media_action=0x7f0a002f;
+ public static final int notification_media_cancel_action=0x7f0a0030;
+ public static final int notification_template_big_media=0x7f0a0031;
+ public static final int notification_template_big_media_narrow=0x7f0a0032;
+ public static final int notification_template_lines=0x7f0a0033;
+ public static final int notification_template_media=0x7f0a0034;
+ public static final int notification_template_part_chronometer=0x7f0a0035;
+ public static final int notification_template_part_time=0x7f0a0036;
+ public static final int recording_detail=0x7f0a0037;
+ public static final int recording_list=0x7f0a0038;
+ public static final int recycler_buffer_item=0x7f0a0039;
+ public static final int recycler_itemviews=0x7f0a003a;
+ public static final int remote=0x7f0a003b;
+ public static final int remote_test=0x7f0a003c;
+ public static final int search_epg_list=0x7f0a003d;
+ public static final int searchable_list_dialog=0x7f0a003e;
+ public static final int searchspinner=0x7f0a003f;
+ public static final int select_dialog_item_material=0x7f0a0040;
+ public static final int select_dialog_multichoice_material=0x7f0a0041;
+ public static final int select_dialog_singlechoice_material=0x7f0a0042;
+ public static final int simple_list_item_1_fa=0x7f0a0043;
+ public static final int support_simple_spinner_dropdown_item=0x7f0a0044;
+ public static final int time_epg_list=0x7f0a0045;
+ public static final int timer_detail=0x7f0a0046;
+ public static final int timer_list=0x7f0a0047;
+ public static final int timer_operation_list_item=0x7f0a0048;
+ public static final int vdr_list_add_delete=0x7f0a0049;
+ public static final int vdrlist=0x7f0a004a;
+ public static final int vdrmanager=0x7f0a004b;
+ public static final int vdrmanager_menu_item=0x7f0a004c;
+ public static final int video=0x7f0a004d;
}
public static final class menu {
public static final int channel_list_group_menu=0x7f0b0000;
@@ -2630,378 +2647,404 @@ public final class R {
public static final int app_name=0x7f0d0071;
public static final int audio_track_dolby=0x7f0d0072;
public static final int audio_tracks_template=0x7f0d0073;
- public static final int certificate_accept_once=0x7f0d0074;
- public static final int certificate_accepted_forever=0x7f0d0075;
- public static final int certificate_not_accepted=0x7f0d0076;
- public static final int certificate_problem_message_text=0x7f0d0077;
- public static final int certificate_problem_message_title=0x7f0d0078;
- public static final int channel_filter_filter_key=0x7f0d0079;
- public static final int channel_filter_filter_summary=0x7f0d007a;
- public static final int channel_filter_filter_title=0x7f0d007b;
- public static final int channel_filter_last_key=0x7f0d007c;
- public static final int channel_filter_last_summary=0x7f0d007d;
- public static final int channel_filter_last_title=0x7f0d007e;
- public static final int channel_filter_preferences=0x7f0d007f;
- public static final int channel_group_menu_hide=0x7f0d0080;
- public static final int channel_group_menu_hide_permanent=0x7f0d0081;
- public static final int channel_item_menu_epg=0x7f0d0082;
- public static final int channel_item_menu_hide=0x7f0d0083;
- public static final int channel_item_menu_hide_permanent=0x7f0d0084;
- public static final int channel_item_menu_stream=0x7f0d0085;
- public static final int channel_item_menu_switch=0x7f0d0086;
- public static final int channels_window_title_count=0x7f0d0087;
- public static final int choose=0x7f0d0088;
- public static final int clear_term_after_search_key=0x7f0d0089;
- public static final int clear_term_after_search_summary_off=0x7f0d008a;
- public static final int clear_term_after_search_summary_on=0x7f0d008b;
- public static final int clear_term_after_search_title=0x7f0d008c;
- public static final int common_delete=0x7f0d008d;
- public static final int current_vdr_id_key=0x7f0d008e;
- public static final int day_concat=0x7f0d008f;
- public static final int default_wakeup_method=0x7f0d0090;
- public static final int done=0x7f0d0091;
- public static final int drawer_close=0x7f0d0092;
- public static final int drawer_open=0x7f0d0093;
- public static final int drive_img=0x7f0d0094;
- public static final int drive_info=0x7f0d0095;
- public static final int epg_by_channel=0x7f0d0096;
- public static final int epg_by_search=0x7f0d0097;
- public static final int epg_by_search_param=0x7f0d0098;
- public static final int epg_by_time=0x7f0d0099;
- public static final int epg_by_time_args=0x7f0d009a;
- public static final int epg_client_errors=0x7f0d009b;
- public static final int epg_duration_template=0x7f0d009c;
- public static final int epg_duration_template_live=0x7f0d009d;
- public static final int epg_eent_livetv_text=0x7f0d009e;
- public static final int epg_event_create_timer_text=0x7f0d009f;
- public static final int epg_event_imdb_text=0x7f0d00a0;
- public static final int epg_event_modify_timer_text=0x7f0d00a1;
- public static final int epg_event_omdb_text=0x7f0d00a2;
- public static final int epg_event_share_text=0x7f0d00a3;
- public static final int epg_event_tmdb_text=0x7f0d00a4;
- public static final int epg_item_menu_timer_add=0x7f0d00a5;
- public static final int epg_item_menu_timer_delete=0x7f0d00a6;
- public static final int epg_item_menu_timer_disable=0x7f0d00a7;
- public static final int epg_item_menu_timer_enable=0x7f0d00a8;
- public static final int epg_item_menu_timer_modify=0x7f0d00a9;
- public static final int epg_item_menu_timer_record=0x7f0d00aa;
- public static final int epg_list_channel_spinner=0x7f0d00ab;
- public static final int epg_list_search_label=0x7f0d00ac;
- public static final int epg_list_time_adhoc=0x7f0d00ad;
- public static final int epg_list_time_label=0x7f0d00ae;
- public static final int epg_list_time_next=0x7f0d00af;
- public static final int epg_list_time_now=0x7f0d00b0;
- public static final int epg_menu_search=0x7f0d00b1;
- public static final int epg_menu_times=0x7f0d00b2;
- public static final int epg_no_items=0x7f0d00b3;
- public static final int epg_of_a_channel=0x7f0d00b4;
- public static final int epg_search_button=0x7f0d00b5;
- public static final int epg_search_settings_description=0x7f0d00b6;
- public static final int epg_search_times_add=0x7f0d00b7;
- public static final int epg_search_times_key=0x7f0d00b8;
- public static final int epg_search_times_window=0x7f0d00b9;
- public static final int epg_window_title_count=0x7f0d00ba;
- public static final int every_day=0x7f0d00bb;
- public static final int export_custom_key_mapping=0x7f0d00bc;
- public static final int filter=0x7f0d00bd;
- public static final int generic_confirm_title=0x7f0d00be;
- public static final int generic_progress_title=0x7f0d00bf;
- public static final int groupby_channel=0x7f0d00c0;
- public static final int groupby_date=0x7f0d00c1;
- public static final int groupby_group=0x7f0d00c2;
- public static final int groupby_name=0x7f0d00c3;
- public static final int groupby_name_all_channels_group=0x7f0d00c4;
- public static final int groupby_provider=0x7f0d00c5;
- public static final int groupby_source=0x7f0d00c6;
- public static final int groupby_window_title_templte=0x7f0d00c7;
- public static final int gui_channels_show_channel_numbers_key=0x7f0d00c8;
- public static final int gui_channels_show_channel_numbers_summary=0x7f0d00c9;
- public static final int gui_channels_show_channel_numbers_title=0x7f0d00ca;
- public static final int gui_custom_locale_key=0x7f0d00cb;
- public static final int gui_custom_locale_sum=0x7f0d00cc;
- public static final int gui_custom_locale_title=0x7f0d00cd;
- public static final int gui_enable_24h_format_key=0x7f0d00ce;
- public static final int gui_enable_24h_format_summary_off=0x7f0d00cf;
- public static final int gui_enable_24h_format_summary_on=0x7f0d00d0;
- public static final int gui_enable_24h_format_title=0x7f0d00d1;
- public static final int gui_max_recent_channels_key=0x7f0d00d2;
- public static final int gui_max_recent_channels_summary=0x7f0d00d3;
- public static final int gui_max_recent_channels_title=0x7f0d00d4;
- public static final int gui_preferences=0x7f0d00d5;
- public static final int gui_quit_on_back_summary_off=0x7f0d00d6;
- public static final int gui_quit_on_back_summary_on=0x7f0d00d7;
- public static final int gui_quit_on_back_title=0x7f0d00d8;
- public static final int gui_recent_channels_order_summary=0x7f0d00d9;
- public static final int gui_recent_channels_order_title=0x7f0d00da;
- public static final int hitkcommand=0x7f0d00db;
- public static final int key_remux_command=0x7f0d00dc;
- public static final int key_remux_enable=0x7f0d00dd;
- public static final int key_remux_parameter=0x7f0d00de;
- public static final int label=0x7f0d00df;
- public static final int livetv=0x7f0d00e0;
- public static final int main_menu_clear_search=0x7f0d00e1;
- public static final int main_menu_exit=0x7f0d00e2;
- public static final int main_menu_goto=0x7f0d00e3;
- public static final int main_menu_goto_no_vdr=0x7f0d00e4;
- public static final int main_menu_goto_title=0x7f0d00e5;
- public static final int main_menu_info=0x7f0d00e6;
- public static final int main_menu_preferences=0x7f0d00e7;
- public static final int main_menu_switched_to=0x7f0d00e8;
- public static final int menu_exprt=0x7f0d00e9;
- public static final int menu_groupby=0x7f0d00ea;
- public static final int menu_imprt=0x7f0d00eb;
- public static final int menu_remapback=0x7f0d00ec;
- public static final int menu_reset=0x7f0d00ed;
- public static final int navigae_at_the_end=0x7f0d00ee;
- public static final int navigae_at_the_start=0x7f0d00ef;
- public static final int never=0x7f0d00f0;
- public static final int new_timer=0x7f0d00f1;
- public static final int new_vdr=0x7f0d00f2;
- public static final int no_connection=0x7f0d00f3;
- public static final int no_connection_retry=0x7f0d00f4;
- public static final int no_internet_connection=0x7f0d00f5;
- public static final int no_results=0x7f0d00f6;
- public static final int no_vdr=0x7f0d00f7;
- public static final int not_yet_implemented=0x7f0d00f8;
- public static final int permission_rationale=0x7f0d00f9;
- public static final int prefs_current_value=0x7f0d00fa;
- public static final int prefs_current_value_not_set=0x7f0d00fb;
- public static final int prefs_current_value_template=0x7f0d00fc;
- public static final int probing=0x7f0d00fd;
- public static final int processing=0x7f0d00fe;
- public static final int progress_cache_hit=0x7f0d00ff;
- public static final int progress_channels_loading=0x7f0d0100;
- public static final int progress_connect=0x7f0d0101;
- public static final int progress_connect_error=0x7f0d0102;
- public static final int progress_connect_finished_abnormal=0x7f0d0103;
- public static final int progress_connect_finished_abnormal_arg=0x7f0d0104;
- public static final int progress_connect_timeout=0x7f0d0105;
- public static final int progress_disconnect=0x7f0d0106;
- public static final int progress_loading=0x7f0d0107;
- public static final int progress_login=0x7f0d0108;
- public static final int progress_login_error=0x7f0d0109;
- public static final int progress_recording_delete=0x7f0d010a;
- public static final int progress_recordings_loading=0x7f0d010b;
- public static final int progress_switching=0x7f0d010c;
- public static final int progress_timer_delete=0x7f0d010d;
- public static final int progress_timer_disable=0x7f0d010e;
- public static final int progress_timer_enable=0x7f0d010f;
- public static final int progress_timer_modify=0x7f0d0110;
- public static final int progress_timer_save=0x7f0d0111;
- public static final int progress_timers_loading=0x7f0d0112;
- public static final int progress_wakeup_error=0x7f0d0113;
- public static final int progress_wakeup_sending=0x7f0d0114;
- public static final int progress_wakeup_sent=0x7f0d0115;
- public static final int progress_whatson_loading=0x7f0d0116;
- public static final int qui_imdb_url_key=0x7f0d0117;
- public static final int qui_imdb_url_summary=0x7f0d0118;
- public static final int qui_imdb_url_title=0x7f0d0119;
- public static final int qui_quit_on_back_key=0x7f0d011a;
- public static final int qui_show_imdb_button_key=0x7f0d011b;
- public static final int qui_show_imdb_button_summary_off=0x7f0d011c;
- public static final int qui_show_imdb_button_summary_on=0x7f0d011d;
- public static final int qui_show_imdb_button_title=0x7f0d011e;
- public static final int qui_show_omdb_button_key=0x7f0d011f;
- public static final int qui_show_omdb_button_summary_off=0x7f0d0120;
- public static final int qui_show_omdb_button_summary_on=0x7f0d0121;
- public static final int qui_show_omdb_button_title=0x7f0d0122;
- public static final int qui_show_tmdb_button_key=0x7f0d0123;
- public static final int qui_show_tmdb_button_summary_off=0x7f0d0124;
- public static final int qui_show_tmdb_button_summary_on=0x7f0d0125;
- public static final int qui_show_tmdb_button_title=0x7f0d0126;
- public static final int recent_channels=0x7f0d0127;
- public static final int recent_channels_no_history=0x7f0d0128;
- public static final int recording_item_menu_delete=0x7f0d0129;
- public static final int recording_item_menu_stream=0x7f0d012a;
- public static final int recording_started=0x7f0d012b;
- public static final int recstream=0x7f0d012c;
- public static final int recstream_enable_summary=0x7f0d012d;
- public static final int recstream_enable_title=0x7f0d012e;
- public static final int recstream_method_summary=0x7f0d012f;
- public static final int recstream_method_title=0x7f0d0130;
- public static final int recstream_smarttvweb_method_summary=0x7f0d0131;
- public static final int recstream_smarttvweb_method_title=0x7f0d0132;
- public static final int refresh=0x7f0d0133;
- public static final int remapback_hint=0x7f0d0134;
- public static final int remote=0x7f0d0135;
- public static final int remote_enable_summary=0x7f0d0136;
- public static final int remote_enable_title=0x7f0d0137;
- public static final int remote_keys_imported=0x7f0d0138;
- public static final int remote_nothing_to_import=0x7f0d0139;
- public static final int remux_command_summary=0x7f0d013a;
- public static final int remux_command_title=0x7f0d013b;
- public static final int remux_enable_summary=0x7f0d013c;
- public static final int remux_enable_title=0x7f0d013d;
- public static final int remux_parameter_summary=0x7f0d013e;
- public static final int remux_parameter_title=0x7f0d013f;
- public static final int remux_title=0x7f0d0140;
- public static final int sad_img=0x7f0d0141;
- public static final int sd_card_canceled=0x7f0d0142;
- public static final int sd_card_error_no_storage=0x7f0d0143;
- public static final int sd_card_import_error=0x7f0d0144;
- public static final int sd_card_import_error_no_file=0x7f0d0145;
- public static final int sd_card_import_progress_message=0x7f0d0146;
- public static final int sd_card_import_success=0x7f0d0147;
- public static final int sd_card_save_error=0x7f0d0148;
- public static final int sd_card_save_error_create_dir=0x7f0d0149;
- public static final int sd_card_save_progress_message=0x7f0d014a;
- public static final int sd_card_save_success=0x7f0d014b;
- public static final int search=0x7f0d014c;
- public static final int search_epg_hint=0x7f0d014d;
- public static final int search_reapt=0x7f0d014e;
- public static final int set_time=0x7f0d014f;
- public static final int settings_backup=0x7f0d0150;
- public static final int settings_backup_key=0x7f0d0151;
- public static final int settings_backup_now=0x7f0d0152;
- public static final int settings_backup_now_key=0x7f0d0153;
- public static final int settings_backup_now_progress_message=0x7f0d0154;
- public static final int settings_backup_now_summary=0x7f0d0155;
- public static final int settings_backup_restore=0x7f0d0156;
- public static final int settings_backup_restore_confirm_message=0x7f0d0157;
- public static final int settings_backup_restore_key=0x7f0d0158;
- public static final int settings_backup_restore_no_backup=0x7f0d0159;
- public static final int settings_backup_restore_progress_message=0x7f0d015a;
- public static final int settings_backup_restore_select_title=0x7f0d015b;
- public static final int settings_backup_restore_summary=0x7f0d015c;
- public static final int settings_backup_summary=0x7f0d015d;
- public static final int settings_live_port=0x7f0d015e;
- public static final int settings_live_port_summary=0x7f0d015f;
- public static final int settings_livetv_port=0x7f0d0160;
- public static final int settings_livetv_port_summary=0x7f0d0161;
- public static final int settings_livetv_streamformat=0x7f0d0162;
- public static final int settings_livetv_summary=0x7f0d0163;
- public static final int settings_smarttvweb_port=0x7f0d0164;
- public static final int settings_smarttvweb_port_summary=0x7f0d0165;
- public static final int share=0x7f0d0166;
- public static final int share_chooser=0x7f0d0167;
- public static final int sort=0x7f0d0168;
- public static final int sortby=0x7f0d0169;
- public static final int sortby_alphabet=0x7f0d016a;
- public static final int sortby_channel=0x7f0d016b;
- public static final int sortby_channellist=0x7f0d016c;
- public static final int sortby_time=0x7f0d016d;
- public static final int status_bar_notification_info_overflow=0x7f0d016e;
- public static final int stream_as=0x7f0d016f;
- public static final int stream_choose_audio=0x7f0d0170;
- public static final int stream_via=0x7f0d0171;
- public static final int stream_via_as=0x7f0d0172;
- public static final int streaming_password_key=0x7f0d0173;
- public static final int streaming_password_sum=0x7f0d0174;
- public static final int streaming_password_title=0x7f0d0175;
- public static final int streaming_username_key=0x7f0d0176;
- public static final int streaming_username_sum=0x7f0d0177;
- public static final int streaming_username_title=0x7f0d0178;
- public static final int svdrp_port_summary=0x7f0d0179;
- public static final int svdrp_port_title=0x7f0d017a;
- public static final int switch_to_channel=0x7f0d017b;
- public static final int switching_failed=0x7f0d017c;
- public static final int switching_success=0x7f0d017d;
- public static final int timer_already_exists=0x7f0d017e;
- public static final int timer_created=0x7f0d017f;
- public static final int timer_default_lifetime_key=0x7f0d0180;
- public static final int timer_default_lifetime_summary=0x7f0d0181;
- public static final int timer_default_lifetime_title=0x7f0d0182;
- public static final int timer_default_primary_limit_key=0x7f0d0183;
- public static final int timer_default_primary_limit_summary=0x7f0d0184;
- public static final int timer_default_primary_limit_title=0x7f0d0185;
- public static final int timer_default_priority_key=0x7f0d0186;
- public static final int timer_default_priority_summary=0x7f0d0187;
- public static final int timer_default_priority_title=0x7f0d0188;
- public static final int timer_detail_channel_title=0x7f0d0189;
- public static final int timer_detail_day_title=0x7f0d018a;
- public static final int timer_detail_end_title=0x7f0d018b;
- public static final int timer_detail_lifetime=0x7f0d018c;
- public static final int timer_detail_lifetime_hint=0x7f0d018d;
- public static final int timer_detail_priority=0x7f0d018e;
- public static final int timer_detail_priority_hint=0x7f0d018f;
- public static final int timer_detail_repeat_title=0x7f0d0190;
- public static final int timer_detail_start_title=0x7f0d0191;
- public static final int timer_detail_title_title=0x7f0d0192;
- public static final int timer_detail_title_vps=0x7f0d0193;
- public static final int timer_detail_use_vps=0x7f0d0194;
- public static final int timer_details_add_title=0x7f0d0195;
- public static final int timer_details_create_title=0x7f0d0196;
- public static final int timer_details_delete_title=0x7f0d0197;
- public static final int timer_details_modify_title=0x7f0d0198;
- public static final int timer_details_save_title=0x7f0d0199;
- public static final int timer_error=0x7f0d019a;
- public static final int timer_post_end_buffer_key=0x7f0d019b;
- public static final int timer_post_end_buffer_summary=0x7f0d019c;
- public static final int timer_post_end_buffer_title=0x7f0d019d;
- public static final int timer_pre_start_buffer_key=0x7f0d019e;
- public static final int timer_pre_start_buffer_summary=0x7f0d019f;
- public static final int timer_pre_start_buffer_title=0x7f0d01a0;
- public static final int timer_preferences=0x7f0d01a1;
- public static final int timezone_key=0x7f0d01a2;
- public static final int type_to_filter=0x7f0d01a3;
- public static final int update_will_start_in=0x7f0d01a4;
- public static final int vdr_advanced_preferences=0x7f0d01a5;
- public static final int vdr_advanced_preferences_summary=0x7f0d01a6;
- public static final int vdr_conntimeout_key=0x7f0d01a7;
- public static final int vdr_conntimeout_sum=0x7f0d01a8;
- public static final int vdr_conntimeout_title=0x7f0d01a9;
- public static final int vdr_device_delete_qeustion=0x7f0d01aa;
- public static final int vdr_devices=0x7f0d01ab;
- public static final int vdr_devices_category=0x7f0d01ac;
- public static final int vdr_devices_summary=0x7f0d01ad;
- public static final int vdr_encoding_key=0x7f0d01ae;
- public static final int vdr_encoding_summary=0x7f0d01af;
- public static final int vdr_encoding_title=0x7f0d01b0;
- public static final int vdr_error_text=0x7f0d01b1;
- public static final int vdr_host_key=0x7f0d01b2;
- public static final int vdr_host_not_defined=0x7f0d01b3;
- public static final int vdr_host_summary=0x7f0d01b4;
- public static final int vdr_host_title=0x7f0d01b5;
- public static final int vdr_name_key=0x7f0d01b6;
- public static final int vdr_name_summary=0x7f0d01b7;
- public static final int vdr_name_title=0x7f0d01b8;
- public static final int vdr_password_key=0x7f0d01b9;
- public static final int vdr_password_summary=0x7f0d01ba;
- public static final int vdr_password_title=0x7f0d01bb;
- public static final int vdr_port_default=0x7f0d01bc;
- public static final int vdr_port_key=0x7f0d01bd;
- public static final int vdr_port_summary=0x7f0d01be;
- public static final int vdr_port_title=0x7f0d01bf;
- public static final int vdr_preferences=0x7f0d01c0;
- public static final int vdr_prefs_category=0x7f0d01c1;
- public static final int vdr_readtimeout_key=0x7f0d01c2;
- public static final int vdr_readtimeout_sum=0x7f0d01c3;
- public static final int vdr_readtimeout_title=0x7f0d01c4;
- public static final int vdr_ssl_key=0x7f0d01c5;
- public static final int vdr_ssl_summary=0x7f0d01c6;
- public static final int vdr_ssl_title=0x7f0d01c7;
- public static final int vdr_stream_format=0x7f0d01c8;
- public static final int vdr_stream_port=0x7f0d01c9;
- public static final int vdr_stream_proxy_key=0x7f0d01ca;
- public static final int vdr_timeout_key=0x7f0d01cb;
- public static final int vdr_timeout_sum=0x7f0d01cc;
- public static final int vdr_timeout_title=0x7f0d01cd;
- public static final int vdr_timezone_summary=0x7f0d01ce;
- public static final int vdr_timezone_title=0x7f0d01cf;
- public static final int wakeup_enabled_key=0x7f0d01d0;
- public static final int wakeup_enabled_summary=0x7f0d01d1;
- public static final int wakeup_enabled_title=0x7f0d01d2;
- public static final int wakeup_method_key=0x7f0d01d3;
- public static final int wakeup_method_summary=0x7f0d01d4;
- public static final int wakeup_method_title=0x7f0d01d5;
- public static final int wakeup_password_key=0x7f0d01d6;
- public static final int wakeup_password_summary=0x7f0d01d7;
- public static final int wakeup_password_title=0x7f0d01d8;
- public static final int wakeup_preferences=0x7f0d01d9;
- public static final int wakeup_url_key=0x7f0d01da;
- public static final int wakeup_url_summary=0x7f0d01db;
- public static final int wakeup_url_title=0x7f0d01dc;
- public static final int wakeup_user_key=0x7f0d01dd;
- public static final int wakeup_user_summary=0x7f0d01de;
- public static final int wakeup_user_title=0x7f0d01df;
- public static final int wakeup_wol_custom_boradcast_summary=0x7f0d01e0;
- public static final int wakeup_wol_custom_boradcast_title=0x7f0d01e1;
- public static final int wakeup_wol_custom_broadcast_key=0x7f0d01e2;
- public static final int wakeup_wol_mac_key=0x7f0d01e3;
- public static final int wakeup_wol_mac_summary=0x7f0d01e4;
- public static final int wakeup_wol_mac_title=0x7f0d01e5;
- public static final int zone_list_menu_sort_alphabetically=0x7f0d01e6;
- public static final int zone_list_menu_sort_by_timezone=0x7f0d01e7;
+ public static final int back=0x7f0d0074;
+ public static final int certificate_accept_once=0x7f0d0075;
+ public static final int certificate_accepted_forever=0x7f0d0076;
+ public static final int certificate_not_accepted=0x7f0d0077;
+ public static final int certificate_problem_message_text=0x7f0d0078;
+ public static final int certificate_problem_message_title=0x7f0d0079;
+ public static final int channel_filter_filter_key=0x7f0d007a;
+ public static final int channel_filter_filter_summary=0x7f0d007b;
+ public static final int channel_filter_filter_title=0x7f0d007c;
+ public static final int channel_filter_last_key=0x7f0d007d;
+ public static final int channel_filter_last_summary=0x7f0d007e;
+ public static final int channel_filter_last_title=0x7f0d007f;
+ public static final int channel_filter_preferences=0x7f0d0080;
+ public static final int channel_group_menu_hide=0x7f0d0081;
+ public static final int channel_group_menu_hide_permanent=0x7f0d0082;
+ public static final int channel_item_menu_epg=0x7f0d0083;
+ public static final int channel_item_menu_hide=0x7f0d0084;
+ public static final int channel_item_menu_hide_permanent=0x7f0d0085;
+ public static final int channel_item_menu_stream=0x7f0d0086;
+ public static final int channel_item_menu_switch=0x7f0d0087;
+ public static final int channels_window_title_count=0x7f0d0088;
+ public static final int choose=0x7f0d0089;
+ public static final int clear_term_after_search_key=0x7f0d008a;
+ public static final int clear_term_after_search_summary_off=0x7f0d008b;
+ public static final int clear_term_after_search_summary_on=0x7f0d008c;
+ public static final int clear_term_after_search_title=0x7f0d008d;
+ public static final int common_delete=0x7f0d008e;
+ public static final int current_vdr_id_key=0x7f0d008f;
+ public static final int day_concat=0x7f0d0090;
+ public static final int default_wakeup_method=0x7f0d0091;
+ public static final int done=0x7f0d0092;
+ public static final int drawer_close=0x7f0d0093;
+ public static final int drawer_open=0x7f0d0094;
+ public static final int drive_img=0x7f0d0095;
+ public static final int drive_info=0x7f0d0096;
+ public static final int epg_by_channel=0x7f0d0097;
+ public static final int epg_by_search=0x7f0d0098;
+ public static final int epg_by_search_param=0x7f0d0099;
+ public static final int epg_by_time=0x7f0d009a;
+ public static final int epg_by_time_args=0x7f0d009b;
+ public static final int epg_client_errors=0x7f0d009c;
+ public static final int epg_duration_template=0x7f0d009d;
+ public static final int epg_duration_template_live=0x7f0d009e;
+ public static final int epg_eent_livetv_text=0x7f0d009f;
+ public static final int epg_event_create_timer_text=0x7f0d00a0;
+ public static final int epg_event_imdb_text=0x7f0d00a1;
+ public static final int epg_event_modify_timer_text=0x7f0d00a2;
+ public static final int epg_event_omdb_text=0x7f0d00a3;
+ public static final int epg_event_share_text=0x7f0d00a4;
+ public static final int epg_event_tmdb_text=0x7f0d00a5;
+ public static final int epg_item_menu_timer_add=0x7f0d00a6;
+ public static final int epg_item_menu_timer_delete=0x7f0d00a7;
+ public static final int epg_item_menu_timer_disable=0x7f0d00a8;
+ public static final int epg_item_menu_timer_enable=0x7f0d00a9;
+ public static final int epg_item_menu_timer_modify=0x7f0d00aa;
+ public static final int epg_item_menu_timer_record=0x7f0d00ab;
+ public static final int epg_list_channel_spinner=0x7f0d00ac;
+ public static final int epg_list_search_label=0x7f0d00ad;
+ public static final int epg_list_time_adhoc=0x7f0d00ae;
+ public static final int epg_list_time_label=0x7f0d00af;
+ public static final int epg_list_time_next=0x7f0d00b0;
+ public static final int epg_list_time_now=0x7f0d00b1;
+ public static final int epg_menu_search=0x7f0d00b2;
+ public static final int epg_menu_times=0x7f0d00b3;
+ public static final int epg_no_items=0x7f0d00b4;
+ public static final int epg_of_a_channel=0x7f0d00b5;
+ public static final int epg_search_button=0x7f0d00b6;
+ public static final int epg_search_settings_description=0x7f0d00b7;
+ public static final int epg_search_times_add=0x7f0d00b8;
+ public static final int epg_search_times_key=0x7f0d00b9;
+ public static final int epg_search_times_window=0x7f0d00ba;
+ public static final int epg_window_title_count=0x7f0d00bb;
+ public static final int every_day=0x7f0d00bc;
+ public static final int export_custom_key_mapping=0x7f0d00bd;
+ public static final int f025=0x7f0d00be;
+ public static final int f027=0x7f0d00bf;
+ public static final int f028=0x7f0d00c0;
+ public static final int f060=0x7f0d00c1;
+ public static final int f061=0x7f0d00c2;
+ public static final int f062=0x7f0d00c3;
+ public static final int f063=0x7f0d00c4;
+ public static final int f085=0x7f0d00c5;
+ public static final int f0aa=0x7f0d00c6;
+ public static final int f0ab=0x7f0d00c7;
+ public static final int f0c9=0x7f0d00c8;
+ public static final int f0e2=0x7f0d00c9;
+ public static final int f120=0x7f0d00ca;
+ public static final int f129=0x7f0d00cb;
+ public static final int f177=0x7f0d00cc;
+ public static final int fa_bars=0x7f0d00cd;
+ public static final int fa_mute=0x7f0d00ce;
+ public static final int fa_power_off=0x7f0d00cf;
+ public static final int filter=0x7f0d00d0;
+ public static final int generic_confirm_title=0x7f0d00d1;
+ public static final int generic_progress_title=0x7f0d00d2;
+ public static final int groupby_channel=0x7f0d00d3;
+ public static final int groupby_date=0x7f0d00d4;
+ public static final int groupby_group=0x7f0d00d5;
+ public static final int groupby_name=0x7f0d00d6;
+ public static final int groupby_name_all_channels_group=0x7f0d00d7;
+ public static final int groupby_provider=0x7f0d00d8;
+ public static final int groupby_source=0x7f0d00d9;
+ public static final int groupby_window_title_templte=0x7f0d00da;
+ public static final int gui_channels_show_channel_numbers_key=0x7f0d00db;
+ public static final int gui_channels_show_channel_numbers_summary=0x7f0d00dc;
+ public static final int gui_channels_show_channel_numbers_title=0x7f0d00dd;
+ public static final int gui_custom_locale_key=0x7f0d00de;
+ public static final int gui_custom_locale_sum=0x7f0d00df;
+ public static final int gui_custom_locale_title=0x7f0d00e0;
+ public static final int gui_enable_24h_format_key=0x7f0d00e1;
+ public static final int gui_enable_24h_format_summary_off=0x7f0d00e2;
+ public static final int gui_enable_24h_format_summary_on=0x7f0d00e3;
+ public static final int gui_enable_24h_format_title=0x7f0d00e4;
+ public static final int gui_max_recent_channels_key=0x7f0d00e5;
+ public static final int gui_max_recent_channels_summary=0x7f0d00e6;
+ public static final int gui_max_recent_channels_title=0x7f0d00e7;
+ public static final int gui_preferences=0x7f0d00e8;
+ public static final int gui_quit_on_back_summary_off=0x7f0d00e9;
+ public static final int gui_quit_on_back_summary_on=0x7f0d00ea;
+ public static final int gui_quit_on_back_title=0x7f0d00eb;
+ public static final int gui_recent_channels_order_summary=0x7f0d00ec;
+ public static final int gui_recent_channels_order_title=0x7f0d00ed;
+ public static final int hitkcommand=0x7f0d00ee;
+ public static final int key_remux_command=0x7f0d00ef;
+ public static final int key_remux_enable=0x7f0d00f0;
+ public static final int key_remux_parameter=0x7f0d00f1;
+ public static final int label=0x7f0d00f2;
+ public static final int livetv=0x7f0d00f3;
+ public static final int main_menu_clear_search=0x7f0d00f4;
+ public static final int main_menu_exit=0x7f0d00f5;
+ public static final int main_menu_goto=0x7f0d00f6;
+ public static final int main_menu_goto_no_vdr=0x7f0d00f7;
+ public static final int main_menu_goto_title=0x7f0d00f8;
+ public static final int main_menu_info=0x7f0d00f9;
+ public static final int main_menu_preferences=0x7f0d00fa;
+ public static final int main_menu_switched_to=0x7f0d00fb;
+ public static final int menu_exprt=0x7f0d00fc;
+ public static final int menu_groupby=0x7f0d00fd;
+ public static final int menu_imprt=0x7f0d00fe;
+ public static final int menu_remapback=0x7f0d00ff;
+ public static final int menu_reset=0x7f0d0100;
+ public static final int navigae_at_the_end=0x7f0d0101;
+ public static final int navigae_at_the_start=0x7f0d0102;
+ public static final int never=0x7f0d0103;
+ public static final int new_timer=0x7f0d0104;
+ public static final int new_vdr=0x7f0d0105;
+ public static final int no_connection=0x7f0d0106;
+ public static final int no_connection_retry=0x7f0d0107;
+ public static final int no_internet_connection=0x7f0d0108;
+ public static final int no_results=0x7f0d0109;
+ public static final int no_vdr=0x7f0d010a;
+ public static final int not_yet_implemented=0x7f0d010b;
+ public static final int ok=0x7f0d010c;
+ public static final int permission_rationale=0x7f0d010d;
+ public static final int pref_dialog_color_picker_alpha=0x7f0d010e;
+ public static final int pref_dialog_message_color_picker=0x7f0d010f;
+ public static final int pref_dialog_title_color_picker=0x7f0d0110;
+ public static final int pref_summary_drawer_color=0x7f0d0111;
+ public static final int prefs_current_value=0x7f0d0112;
+ public static final int prefs_current_value_not_set=0x7f0d0113;
+ public static final int prefs_current_value_template=0x7f0d0114;
+ public static final int probing=0x7f0d0115;
+ public static final int processing=0x7f0d0116;
+ public static final int progress_cache_hit=0x7f0d0117;
+ public static final int progress_channels_loading=0x7f0d0118;
+ public static final int progress_connect=0x7f0d0119;
+ public static final int progress_connect_error=0x7f0d011a;
+ public static final int progress_connect_finished_abnormal=0x7f0d011b;
+ public static final int progress_connect_finished_abnormal_arg=0x7f0d011c;
+ public static final int progress_connect_timeout=0x7f0d011d;
+ public static final int progress_disconnect=0x7f0d011e;
+ public static final int progress_loading=0x7f0d011f;
+ public static final int progress_login=0x7f0d0120;
+ public static final int progress_login_error=0x7f0d0121;
+ public static final int progress_recording_delete=0x7f0d0122;
+ public static final int progress_recordings_loading=0x7f0d0123;
+ public static final int progress_switching=0x7f0d0124;
+ public static final int progress_timer_delete=0x7f0d0125;
+ public static final int progress_timer_disable=0x7f0d0126;
+ public static final int progress_timer_enable=0x7f0d0127;
+ public static final int progress_timer_modify=0x7f0d0128;
+ public static final int progress_timer_save=0x7f0d0129;
+ public static final int progress_timers_loading=0x7f0d012a;
+ public static final int progress_wakeup_error=0x7f0d012b;
+ public static final int progress_wakeup_sending=0x7f0d012c;
+ public static final int progress_wakeup_sent=0x7f0d012d;
+ public static final int progress_whatson_loading=0x7f0d012e;
+ public static final int qui_imdb_url_key=0x7f0d012f;
+ public static final int qui_imdb_url_summary=0x7f0d0130;
+ public static final int qui_imdb_url_title=0x7f0d0131;
+ public static final int qui_quit_on_back_key=0x7f0d0132;
+ public static final int qui_show_imdb_button_key=0x7f0d0133;
+ public static final int qui_show_imdb_button_summary_off=0x7f0d0134;
+ public static final int qui_show_imdb_button_summary_on=0x7f0d0135;
+ public static final int qui_show_imdb_button_title=0x7f0d0136;
+ public static final int qui_show_omdb_button_key=0x7f0d0137;
+ public static final int qui_show_omdb_button_summary_off=0x7f0d0138;
+ public static final int qui_show_omdb_button_summary_on=0x7f0d0139;
+ public static final int qui_show_omdb_button_title=0x7f0d013a;
+ public static final int qui_show_tmdb_button_key=0x7f0d013b;
+ public static final int qui_show_tmdb_button_summary_off=0x7f0d013c;
+ public static final int qui_show_tmdb_button_summary_on=0x7f0d013d;
+ public static final int qui_show_tmdb_button_title=0x7f0d013e;
+ public static final int recent_channels=0x7f0d013f;
+ public static final int recent_channels_no_history=0x7f0d0140;
+ public static final int recording_item_menu_delete=0x7f0d0141;
+ public static final int recording_item_menu_stream=0x7f0d0142;
+ public static final int recording_started=0x7f0d0143;
+ public static final int recstream=0x7f0d0144;
+ public static final int recstream_enable_summary=0x7f0d0145;
+ public static final int recstream_enable_title=0x7f0d0146;
+ public static final int recstream_method_summary=0x7f0d0147;
+ public static final int recstream_method_title=0x7f0d0148;
+ public static final int recstream_smarttvweb_method_summary=0x7f0d0149;
+ public static final int recstream_smarttvweb_method_title=0x7f0d014a;
+ public static final int refresh=0x7f0d014b;
+ public static final int remapback_hint=0x7f0d014c;
+ public static final int remote=0x7f0d014d;
+ public static final int remote_enable_summary=0x7f0d014e;
+ public static final int remote_enable_title=0x7f0d014f;
+ public static final int remote_keys_imported=0x7f0d0150;
+ public static final int remote_nothing_to_import=0x7f0d0151;
+ public static final int remotesquares=0x7f0d0152;
+ public static final int remux_command_summary=0x7f0d0153;
+ public static final int remux_command_title=0x7f0d0154;
+ public static final int remux_enable_summary=0x7f0d0155;
+ public static final int remux_enable_title=0x7f0d0156;
+ public static final int remux_parameter_summary=0x7f0d0157;
+ public static final int remux_parameter_title=0x7f0d0158;
+ public static final int remux_title=0x7f0d0159;
+ public static final int reset=0x7f0d015a;
+ public static final int sad_img=0x7f0d015b;
+ public static final int sd_card_canceled=0x7f0d015c;
+ public static final int sd_card_error_no_storage=0x7f0d015d;
+ public static final int sd_card_import_error=0x7f0d015e;
+ public static final int sd_card_import_error_no_file=0x7f0d015f;
+ public static final int sd_card_import_progress_message=0x7f0d0160;
+ public static final int sd_card_import_success=0x7f0d0161;
+ public static final int sd_card_save_error=0x7f0d0162;
+ public static final int sd_card_save_error_create_dir=0x7f0d0163;
+ public static final int sd_card_save_progress_message=0x7f0d0164;
+ public static final int sd_card_save_success=0x7f0d0165;
+ public static final int search=0x7f0d0166;
+ public static final int search_epg_hint=0x7f0d0167;
+ public static final int search_reapt=0x7f0d0168;
+ public static final int set_time=0x7f0d0169;
+ public static final int settings_backup=0x7f0d016a;
+ public static final int settings_backup_key=0x7f0d016b;
+ public static final int settings_backup_now=0x7f0d016c;
+ public static final int settings_backup_now_key=0x7f0d016d;
+ public static final int settings_backup_now_progress_message=0x7f0d016e;
+ public static final int settings_backup_now_summary=0x7f0d016f;
+ public static final int settings_backup_restore=0x7f0d0170;
+ public static final int settings_backup_restore_confirm_message=0x7f0d0171;
+ public static final int settings_backup_restore_key=0x7f0d0172;
+ public static final int settings_backup_restore_no_backup=0x7f0d0173;
+ public static final int settings_backup_restore_progress_message=0x7f0d0174;
+ public static final int settings_backup_restore_select_title=0x7f0d0175;
+ public static final int settings_backup_restore_summary=0x7f0d0176;
+ public static final int settings_backup_summary=0x7f0d0177;
+ public static final int settings_live_port=0x7f0d0178;
+ public static final int settings_live_port_summary=0x7f0d0179;
+ public static final int settings_livetv_port=0x7f0d017a;
+ public static final int settings_livetv_port_summary=0x7f0d017b;
+ public static final int settings_livetv_streamformat=0x7f0d017c;
+ public static final int settings_livetv_summary=0x7f0d017d;
+ public static final int settings_smarttvweb_port=0x7f0d017e;
+ public static final int settings_smarttvweb_port_summary=0x7f0d017f;
+ public static final int share=0x7f0d0180;
+ public static final int share_chooser=0x7f0d0181;
+ public static final int sort=0x7f0d0182;
+ public static final int sortby=0x7f0d0183;
+ public static final int sortby_alphabet=0x7f0d0184;
+ public static final int sortby_channel=0x7f0d0185;
+ public static final int sortby_channellist=0x7f0d0186;
+ public static final int sortby_time=0x7f0d0187;
+ public static final int status_bar_notification_info_overflow=0x7f0d0188;
+ public static final int stream_as=0x7f0d0189;
+ public static final int stream_choose_audio=0x7f0d018a;
+ public static final int stream_via=0x7f0d018b;
+ public static final int stream_via_as=0x7f0d018c;
+ public static final int streaming_password_key=0x7f0d018d;
+ public static final int streaming_password_sum=0x7f0d018e;
+ public static final int streaming_password_title=0x7f0d018f;
+ public static final int streaming_username_key=0x7f0d0190;
+ public static final int streaming_username_sum=0x7f0d0191;
+ public static final int streaming_username_title=0x7f0d0192;
+ public static final int svdrp_port_summary=0x7f0d0193;
+ public static final int svdrp_port_title=0x7f0d0194;
+ public static final int switch_to_channel=0x7f0d0195;
+ public static final int switching_failed=0x7f0d0196;
+ public static final int switching_success=0x7f0d0197;
+ public static final int timer_already_exists=0x7f0d0198;
+ public static final int timer_created=0x7f0d0199;
+ public static final int timer_default_lifetime_key=0x7f0d019a;
+ public static final int timer_default_lifetime_summary=0x7f0d019b;
+ public static final int timer_default_lifetime_title=0x7f0d019c;
+ public static final int timer_default_primary_limit_key=0x7f0d019d;
+ public static final int timer_default_primary_limit_summary=0x7f0d019e;
+ public static final int timer_default_primary_limit_title=0x7f0d019f;
+ public static final int timer_default_priority_key=0x7f0d01a0;
+ public static final int timer_default_priority_summary=0x7f0d01a1;
+ public static final int timer_default_priority_title=0x7f0d01a2;
+ public static final int timer_detail_channel_title=0x7f0d01a3;
+ public static final int timer_detail_day_title=0x7f0d01a4;
+ public static final int timer_detail_end_title=0x7f0d01a5;
+ public static final int timer_detail_lifetime=0x7f0d01a6;
+ public static final int timer_detail_lifetime_hint=0x7f0d01a7;
+ public static final int timer_detail_priority=0x7f0d01a8;
+ public static final int timer_detail_priority_hint=0x7f0d01a9;
+ public static final int timer_detail_repeat_title=0x7f0d01aa;
+ public static final int timer_detail_start_title=0x7f0d01ab;
+ public static final int timer_detail_title_title=0x7f0d01ac;
+ public static final int timer_detail_title_vps=0x7f0d01ad;
+ public static final int timer_detail_use_vps=0x7f0d01ae;
+ public static final int timer_details_add_title=0x7f0d01af;
+ public static final int timer_details_create_title=0x7f0d01b0;
+ public static final int timer_details_delete_title=0x7f0d01b1;
+ public static final int timer_details_modify_title=0x7f0d01b2;
+ public static final int timer_details_save_title=0x7f0d01b3;
+ public static final int timer_error=0x7f0d01b4;
+ public static final int timer_post_end_buffer_key=0x7f0d01b5;
+ public static final int timer_post_end_buffer_summary=0x7f0d01b6;
+ public static final int timer_post_end_buffer_title=0x7f0d01b7;
+ public static final int timer_pre_start_buffer_key=0x7f0d01b8;
+ public static final int timer_pre_start_buffer_summary=0x7f0d01b9;
+ public static final int timer_pre_start_buffer_title=0x7f0d01ba;
+ public static final int timer_preferences=0x7f0d01bb;
+ public static final int timezone_key=0x7f0d01bc;
+ public static final int type_to_filter=0x7f0d01bd;
+ public static final int update_will_start_in=0x7f0d01be;
+ public static final int vdr_advanced_preferences=0x7f0d01bf;
+ public static final int vdr_advanced_preferences_summary=0x7f0d01c0;
+ public static final int vdr_conntimeout_key=0x7f0d01c1;
+ public static final int vdr_conntimeout_sum=0x7f0d01c2;
+ public static final int vdr_conntimeout_title=0x7f0d01c3;
+ public static final int vdr_device_delete_qeustion=0x7f0d01c4;
+ public static final int vdr_devices=0x7f0d01c5;
+ public static final int vdr_devices_category=0x7f0d01c6;
+ public static final int vdr_devices_summary=0x7f0d01c7;
+ public static final int vdr_encoding_key=0x7f0d01c8;
+ public static final int vdr_encoding_summary=0x7f0d01c9;
+ public static final int vdr_encoding_title=0x7f0d01ca;
+ public static final int vdr_error_text=0x7f0d01cb;
+ public static final int vdr_host_key=0x7f0d01cc;
+ public static final int vdr_host_not_defined=0x7f0d01cd;
+ public static final int vdr_host_summary=0x7f0d01ce;
+ public static final int vdr_host_title=0x7f0d01cf;
+ public static final int vdr_name_key=0x7f0d01d0;
+ public static final int vdr_name_summary=0x7f0d01d1;
+ public static final int vdr_name_title=0x7f0d01d2;
+ public static final int vdr_password_key=0x7f0d01d3;
+ public static final int vdr_password_summary=0x7f0d01d4;
+ public static final int vdr_password_title=0x7f0d01d5;
+ public static final int vdr_port_default=0x7f0d01d6;
+ public static final int vdr_port_key=0x7f0d01d7;
+ public static final int vdr_port_summary=0x7f0d01d8;
+ public static final int vdr_port_title=0x7f0d01d9;
+ public static final int vdr_preferences=0x7f0d01da;
+ public static final int vdr_prefs_category=0x7f0d01db;
+ public static final int vdr_readtimeout_key=0x7f0d01dc;
+ public static final int vdr_readtimeout_sum=0x7f0d01dd;
+ public static final int vdr_readtimeout_title=0x7f0d01de;
+ public static final int vdr_ssl_key=0x7f0d01df;
+ public static final int vdr_ssl_summary=0x7f0d01e0;
+ public static final int vdr_ssl_title=0x7f0d01e1;
+ public static final int vdr_stream_format=0x7f0d01e2;
+ public static final int vdr_stream_port=0x7f0d01e3;
+ public static final int vdr_stream_proxy_key=0x7f0d01e4;
+ public static final int vdr_timeout_key=0x7f0d01e5;
+ public static final int vdr_timeout_sum=0x7f0d01e6;
+ public static final int vdr_timeout_title=0x7f0d01e7;
+ public static final int vdr_timezone_summary=0x7f0d01e8;
+ public static final int vdr_timezone_title=0x7f0d01e9;
+ public static final int wakeup_enabled_key=0x7f0d01ea;
+ public static final int wakeup_enabled_summary=0x7f0d01eb;
+ public static final int wakeup_enabled_title=0x7f0d01ec;
+ public static final int wakeup_method_key=0x7f0d01ed;
+ public static final int wakeup_method_summary=0x7f0d01ee;
+ public static final int wakeup_method_title=0x7f0d01ef;
+ public static final int wakeup_password_key=0x7f0d01f0;
+ public static final int wakeup_password_summary=0x7f0d01f1;
+ public static final int wakeup_password_title=0x7f0d01f2;
+ public static final int wakeup_preferences=0x7f0d01f3;
+ public static final int wakeup_url_key=0x7f0d01f4;
+ public static final int wakeup_url_summary=0x7f0d01f5;
+ public static final int wakeup_url_title=0x7f0d01f6;
+ public static final int wakeup_user_key=0x7f0d01f7;
+ public static final int wakeup_user_summary=0x7f0d01f8;
+ public static final int wakeup_user_title=0x7f0d01f9;
+ public static final int wakeup_wol_custom_boradcast_summary=0x7f0d01fa;
+ public static final int wakeup_wol_custom_boradcast_title=0x7f0d01fb;
+ public static final int wakeup_wol_custom_broadcast_key=0x7f0d01fc;
+ public static final int wakeup_wol_mac_key=0x7f0d01fd;
+ public static final int wakeup_wol_mac_summary=0x7f0d01fe;
+ public static final int wakeup_wol_mac_title=0x7f0d01ff;
+ public static final int zone_list_menu_sort_alphabetically=0x7f0d0200;
+ public static final int zone_list_menu_sort_by_timezone=0x7f0d0201;
}
public static final class style {
public static final int AlertDialog_AppCompat=0x7f0e0000;
@@ -3013,8 +3056,8 @@ public final class R {
public static final int Base_AlertDialog_AppCompat_Light=0x7f0e0006;
public static final int Base_Animation_AppCompat_Dialog=0x7f0e0007;
public static final int Base_Animation_AppCompat_DropDownUp=0x7f0e0008;
- public static final int Base_DialogWindowTitleBackground_AppCompat=0x7f0e000a;
public static final int Base_DialogWindowTitle_AppCompat=0x7f0e0009;
+ public static final int Base_DialogWindowTitleBackground_AppCompat=0x7f0e000a;
public static final int Base_TextAppearance_AppCompat=0x7f0e000b;
public static final int Base_TextAppearance_AppCompat_Body1=0x7f0e000c;
public static final int Base_TextAppearance_AppCompat_Body2=0x7f0e000d;
@@ -3059,25 +3102,25 @@ public final class R {
public static final int Base_TextAppearance_Widget_AppCompat_ExpandedMenu_Item=0x7f0e0034;
public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Subtitle=0x7f0e0035;
public static final int Base_TextAppearance_Widget_AppCompat_Toolbar_Title=0x7f0e0036;
- public static final int Base_ThemeOverlay_AppCompat=0x7f0e0045;
- public static final int Base_ThemeOverlay_AppCompat_ActionBar=0x7f0e0046;
- public static final int Base_ThemeOverlay_AppCompat_Dark=0x7f0e0047;
- public static final int Base_ThemeOverlay_AppCompat_Dark_ActionBar=0x7f0e0048;
- public static final int Base_ThemeOverlay_AppCompat_Light=0x7f0e0049;
public static final int Base_Theme_AppCompat=0x7f0e0037;
public static final int Base_Theme_AppCompat_CompactMenu=0x7f0e0038;
public static final int Base_Theme_AppCompat_Dialog=0x7f0e0039;
- public static final int Base_Theme_AppCompat_DialogWhenLarge=0x7f0e003d;
public static final int Base_Theme_AppCompat_Dialog_Alert=0x7f0e003a;
public static final int Base_Theme_AppCompat_Dialog_FixedSize=0x7f0e003b;
public static final int Base_Theme_AppCompat_Dialog_MinWidth=0x7f0e003c;
+ public static final int Base_Theme_AppCompat_DialogWhenLarge=0x7f0e003d;
public static final int Base_Theme_AppCompat_Light=0x7f0e003e;
public static final int Base_Theme_AppCompat_Light_DarkActionBar=0x7f0e003f;
public static final int Base_Theme_AppCompat_Light_Dialog=0x7f0e0040;
- public static final int Base_Theme_AppCompat_Light_DialogWhenLarge=0x7f0e0044;
public static final int Base_Theme_AppCompat_Light_Dialog_Alert=0x7f0e0041;
public static final int Base_Theme_AppCompat_Light_Dialog_FixedSize=0x7f0e0042;
public static final int Base_Theme_AppCompat_Light_Dialog_MinWidth=0x7f0e0043;
+ public static final int Base_Theme_AppCompat_Light_DialogWhenLarge=0x7f0e0044;
+ public static final int Base_ThemeOverlay_AppCompat=0x7f0e0045;
+ public static final int Base_ThemeOverlay_AppCompat_ActionBar=0x7f0e0046;
+ public static final int Base_ThemeOverlay_AppCompat_Dark=0x7f0e0047;
+ public static final int Base_ThemeOverlay_AppCompat_Dark_ActionBar=0x7f0e0048;
+ public static final int Base_ThemeOverlay_AppCompat_Light=0x7f0e0049;
public static final int Base_V11_Theme_AppCompat_Dialog=0x7f0e004a;
public static final int Base_V11_Theme_AppCompat_Light_Dialog=0x7f0e004b;
public static final int Base_V12_Widget_AppCompat_AutoCompleteTextView=0x7f0e004c;
@@ -3108,13 +3151,13 @@ public final class R {
public static final int Base_Widget_AppCompat_ActivityChooserView=0x7f0e0065;
public static final int Base_Widget_AppCompat_AutoCompleteTextView=0x7f0e0066;
public static final int Base_Widget_AppCompat_Button=0x7f0e0067;
- public static final int Base_Widget_AppCompat_ButtonBar=0x7f0e006d;
- public static final int Base_Widget_AppCompat_ButtonBar_AlertDialog=0x7f0e006e;
public static final int Base_Widget_AppCompat_Button_Borderless=0x7f0e0068;
public static final int Base_Widget_AppCompat_Button_Borderless_Colored=0x7f0e0069;
public static final int Base_Widget_AppCompat_Button_ButtonBar_AlertDialog=0x7f0e006a;
public static final int Base_Widget_AppCompat_Button_Colored=0x7f0e006b;
public static final int Base_Widget_AppCompat_Button_Small=0x7f0e006c;
+ public static final int Base_Widget_AppCompat_ButtonBar=0x7f0e006d;
+ public static final int Base_Widget_AppCompat_ButtonBar_AlertDialog=0x7f0e006e;
public static final int Base_Widget_AppCompat_CompoundButton_CheckBox=0x7f0e006f;
public static final int Base_Widget_AppCompat_CompoundButton_RadioButton=0x7f0e0070;
public static final int Base_Widget_AppCompat_CompoundButton_Switch=0x7f0e0071;
@@ -3171,12 +3214,12 @@ public final class R {
public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem=0x7f0e00a4;
public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_InternalGroup=0x7f0e00a5;
public static final int RtlOverlay_Widget_AppCompat_PopupMenuItem_Text=0x7f0e00a6;
- public static final int RtlOverlay_Widget_AppCompat_SearchView_MagIcon=0x7f0e00ac;
public static final int RtlOverlay_Widget_AppCompat_Search_DropDown=0x7f0e00a7;
public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon1=0x7f0e00a8;
public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Icon2=0x7f0e00a9;
public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Query=0x7f0e00aa;
public static final int RtlOverlay_Widget_AppCompat_Search_DropDown_Text=0x7f0e00ab;
+ public static final int RtlOverlay_Widget_AppCompat_SearchView_MagIcon=0x7f0e00ac;
public static final int RtlUnderlay_Widget_AppCompat_ActionButton=0x7f0e00ad;
public static final int RtlUnderlay_Widget_AppCompat_ActionButton_Overflow=0x7f0e00ae;
public static final int TextAppearance_AppCompat=0x7f0e00af;
@@ -3231,33 +3274,33 @@ public final class R {
public static final int TextAppearance_Widget_AppCompat_ExpandedMenu_Item=0x7f0e00e0;
public static final int TextAppearance_Widget_AppCompat_Toolbar_Subtitle=0x7f0e00e1;
public static final int TextAppearance_Widget_AppCompat_Toolbar_Title=0x7f0e00e2;
- public static final int ThemeOverlay_AppCompat=0x7f0e00f9;
- public static final int ThemeOverlay_AppCompat_ActionBar=0x7f0e00fa;
- public static final int ThemeOverlay_AppCompat_Dark=0x7f0e00fb;
- public static final int ThemeOverlay_AppCompat_Dark_ActionBar=0x7f0e00fc;
- public static final int ThemeOverlay_AppCompat_Light=0x7f0e00fd;
public static final int Theme_AppCompat=0x7f0e00e3;
public static final int Theme_AppCompat_CompactMenu=0x7f0e00e4;
public static final int Theme_AppCompat_DayNight=0x7f0e00e5;
public static final int Theme_AppCompat_DayNight_DarkActionBar=0x7f0e00e6;
public static final int Theme_AppCompat_DayNight_Dialog=0x7f0e00e7;
- public static final int Theme_AppCompat_DayNight_DialogWhenLarge=0x7f0e00ea;
public static final int Theme_AppCompat_DayNight_Dialog_Alert=0x7f0e00e8;
public static final int Theme_AppCompat_DayNight_Dialog_MinWidth=0x7f0e00e9;
+ public static final int Theme_AppCompat_DayNight_DialogWhenLarge=0x7f0e00ea;
public static final int Theme_AppCompat_DayNight_NoActionBar=0x7f0e00eb;
public static final int Theme_AppCompat_Dialog=0x7f0e00ec;
- public static final int Theme_AppCompat_DialogWhenLarge=0x7f0e00ef;
public static final int Theme_AppCompat_Dialog_Alert=0x7f0e00ed;
public static final int Theme_AppCompat_Dialog_MinWidth=0x7f0e00ee;
+ public static final int Theme_AppCompat_DialogWhenLarge=0x7f0e00ef;
public static final int Theme_AppCompat_Light=0x7f0e00f0;
public static final int Theme_AppCompat_Light_DarkActionBar=0x7f0e00f1;
public static final int Theme_AppCompat_Light_Dialog=0x7f0e00f2;
- public static final int Theme_AppCompat_Light_DialogWhenLarge=0x7f0e00f5;
public static final int Theme_AppCompat_Light_Dialog_Alert=0x7f0e00f3;
public static final int Theme_AppCompat_Light_Dialog_MinWidth=0x7f0e00f4;
+ public static final int Theme_AppCompat_Light_DialogWhenLarge=0x7f0e00f5;
public static final int Theme_AppCompat_Light_NoActionBar=0x7f0e00f6;
public static final int Theme_AppCompat_NoActionBar=0x7f0e00f7;
public static final int Theme_PageIndicatorDefaults=0x7f0e00f8;
+ public static final int ThemeOverlay_AppCompat=0x7f0e00f9;
+ public static final int ThemeOverlay_AppCompat_ActionBar=0x7f0e00fa;
+ public static final int ThemeOverlay_AppCompat_Dark=0x7f0e00fb;
+ public static final int ThemeOverlay_AppCompat_Dark_ActionBar=0x7f0e00fc;
+ public static final int ThemeOverlay_AppCompat_Light=0x7f0e00fd;
public static final int Widget_AppCompat_ActionBar=0x7f0e00fe;
public static final int Widget_AppCompat_ActionBar_Solid=0x7f0e00ff;
public static final int Widget_AppCompat_ActionBar_TabBar=0x7f0e0100;
@@ -3270,13 +3313,13 @@ public final class R {
public static final int Widget_AppCompat_ActivityChooserView=0x7f0e0107;
public static final int Widget_AppCompat_AutoCompleteTextView=0x7f0e0108;
public static final int Widget_AppCompat_Button=0x7f0e0109;
- public static final int Widget_AppCompat_ButtonBar=0x7f0e010f;
- public static final int Widget_AppCompat_ButtonBar_AlertDialog=0x7f0e0110;
public static final int Widget_AppCompat_Button_Borderless=0x7f0e010a;
public static final int Widget_AppCompat_Button_Borderless_Colored=0x7f0e010b;
public static final int Widget_AppCompat_Button_ButtonBar_AlertDialog=0x7f0e010c;
public static final int Widget_AppCompat_Button_Colored=0x7f0e010d;
public static final int Widget_AppCompat_Button_Small=0x7f0e010e;
+ public static final int Widget_AppCompat_ButtonBar=0x7f0e010f;
+ public static final int Widget_AppCompat_ButtonBar_AlertDialog=0x7f0e0110;
public static final int Widget_AppCompat_CompoundButton_CheckBox=0x7f0e0111;
public static final int Widget_AppCompat_CompoundButton_RadioButton=0x7f0e0112;
public static final int Widget_AppCompat_CompoundButton_Switch=0x7f0e0113;
@@ -3401,55 +3444,12 @@ public final class R {
0x7f03002a, 0x7f03002b, 0x7f03002c, 0x7f03004e,
0x7f03004f, 0x7f030050, 0x7f030051, 0x7f030054,
0x7f030058, 0x7f030059, 0x7f030064, 0x7f03006f,
- 0x7f030070, 0x7f030071, 0x7f030072, 0x7f030073,
- 0x7f030076, 0x7f030079, 0x7f030087, 0x7f03008e,
- 0x7f030098, 0x7f03009b, 0x7f03009c, 0x7f0300bd,
- 0x7f0300c0, 0x7f0300d4, 0x7f0300de
- };
- /**
- * Attributes that can be used with a ActionBarLayout.
- * <p>Includes the following attributes:</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Attribute</th><th>Description</th></tr>
- * <tr><td><code>{@link #ActionBarLayout_android_layout_gravity android:layout_gravity}</code></td><td></td></tr>
- * </table>
- * @see #ActionBarLayout_android_layout_gravity
- */
- public static final int[] ActionBarLayout={
- 0x010100b3
+ 0x7f030070, 0x7f030072, 0x7f030073, 0x7f030074,
+ 0x7f030077, 0x7f03007a, 0x7f030088, 0x7f03008f,
+ 0x7f030099, 0x7f03009c, 0x7f03009d, 0x7f0300be,
+ 0x7f0300c1, 0x7f0300d5, 0x7f0300df
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#layout_gravity}
- * attribute's value can be found in the {@link #ActionBarLayout} array.
- *
- * <p>Must be one or more (separated by '|') of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>end</td><td>800005</td><td></td></tr>
- * <tr><td>start</td><td>800003</td><td></td></tr>
- * <tr><td>bottom</td><td>50</td><td></td></tr>
- * <tr><td>center</td><td>11</td><td></td></tr>
- * <tr><td>center_horizontal</td><td>1</td><td></td></tr>
- * <tr><td>center_vertical</td><td>10</td><td></td></tr>
- * <tr><td>clip_horizontal</td><td>8</td><td></td></tr>
- * <tr><td>clip_vertical</td><td>80</td><td></td></tr>
- * <tr><td>fill</td><td>77</td><td></td></tr>
- * <tr><td>fill_horizontal</td><td>7</td><td></td></tr>
- * <tr><td>fill_vertical</td><td>70</td><td></td></tr>
- * <tr><td>left</td><td>3</td><td></td></tr>
- * <tr><td>right</td><td>5</td><td></td></tr>
- * <tr><td>top</td><td>30</td><td></td></tr>
- * </table>
- *
- * @attr name android:layout_gravity
- */
- public static final int ActionBarLayout_android_layout_gravity=0;
- /**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#background}
* attribute's value can be found in the {@link #ActionBar} array.
*
@@ -3798,6 +3798,49 @@ public final class R {
*/
public static final int ActionBar_titleTextStyle=26;
/**
+ * Attributes that can be used with a ActionBarLayout.
+ * <p>Includes the following attributes:</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Attribute</th><th>Description</th></tr>
+ * <tr><td><code>{@link #ActionBarLayout_android_layout_gravity android:layout_gravity}</code></td><td></td></tr>
+ * </table>
+ * @see #ActionBarLayout_android_layout_gravity
+ */
+ public static final int[] ActionBarLayout={
+ 0x010100b3
+ };
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#layout_gravity}
+ * attribute's value can be found in the {@link #ActionBarLayout} array.
+ *
+ * <p>Must be one or more (separated by '|') of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>end</td><td>800005</td><td></td></tr>
+ * <tr><td>start</td><td>800003</td><td></td></tr>
+ * <tr><td>bottom</td><td>50</td><td></td></tr>
+ * <tr><td>center</td><td>11</td><td></td></tr>
+ * <tr><td>center_horizontal</td><td>1</td><td></td></tr>
+ * <tr><td>center_vertical</td><td>10</td><td></td></tr>
+ * <tr><td>clip_horizontal</td><td>8</td><td></td></tr>
+ * <tr><td>clip_vertical</td><td>80</td><td></td></tr>
+ * <tr><td>fill</td><td>77</td><td></td></tr>
+ * <tr><td>fill_horizontal</td><td>7</td><td></td></tr>
+ * <tr><td>fill_vertical</td><td>70</td><td></td></tr>
+ * <tr><td>left</td><td>3</td><td></td></tr>
+ * <tr><td>right</td><td>5</td><td></td></tr>
+ * <tr><td>top</td><td>30</td><td></td></tr>
+ * </table>
+ *
+ * @attr name android:layout_gravity
+ */
+ public static final int ActionBarLayout_android_layout_gravity=0;
+ /**
* Attributes that can be used with a ActionMenuItemView.
* <p>Includes the following attributes:</p>
* <table>
@@ -3849,7 +3892,7 @@ public final class R {
*/
public static final int[] ActionMode={
0x7f03002a, 0x7f03002b, 0x7f030041, 0x7f03006f,
- 0x7f0300c0, 0x7f0300de
+ 0x7f0300c1, 0x7f0300df
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#background}
@@ -3941,7 +3984,7 @@ public final class R {
* @see #ActivityChooserView_initialActivityCount
*/
public static final int[] ActivityChooserView={
- 0x7f030065, 0x7f030077
+ 0x7f030065, 0x7f030078
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#expandActivityOverflowButtonDrawable}
@@ -3987,8 +4030,8 @@ public final class R {
* @see #AlertDialog_singleChoiceItemLayout
*/
public static final int[] AlertDialog={
- 0x010100f2, 0x7f030036, 0x7f03007f, 0x7f030080,
- 0x7f03008b, 0x7f0300b0
+ 0x010100f2, 0x7f030036, 0x7f030080, 0x7f030081,
+ 0x7f03008c, 0x7f0300b1
};
/**
* <p>This symbol is the offset where the {@link android.R.attr#layout}
@@ -4076,7 +4119,7 @@ public final class R {
* @see #AppCompatImageView_srcCompat
*/
public static final int[] AppCompatImageView={
- 0x01010119, 0x7f0300b7
+ 0x01010119, 0x7f0300b8
};
/**
* <p>This symbol is the offset where the {@link android.R.attr#src}
@@ -4119,7 +4162,7 @@ public final class R {
* @see #AppCompatTextView_textAllCaps
*/
public static final int[] AppCompatTextView={
- 0x01010034, 0x7f0300c6
+ 0x01010034, 0x7f0300c7
};
/**
* <p>This symbol is the offset where the {@link android.R.attr#textAppearance}
@@ -4397,20 +4440,42 @@ public final class R {
0x7f030049, 0x7f03004a, 0x7f03004b, 0x7f03004c,
0x7f030052, 0x7f030056, 0x7f030057, 0x7f03005a,
0x7f03005c, 0x7f03005f, 0x7f030060, 0x7f030061,
- 0x7f030062, 0x7f030063, 0x7f030071, 0x7f030075,
- 0x7f03007d, 0x7f03007e, 0x7f030081, 0x7f030082,
- 0x7f030083, 0x7f030084, 0x7f030085, 0x7f030086,
- 0x7f030094, 0x7f030095, 0x7f030096, 0x7f030097,
- 0x7f030099, 0x7f03009f, 0x7f0300a1, 0x7f0300a2,
- 0x7f0300a3, 0x7f0300a7, 0x7f0300a8, 0x7f0300a9,
- 0x7f0300aa, 0x7f0300b4, 0x7f0300b5, 0x7f0300c4,
- 0x7f0300c7, 0x7f0300c8, 0x7f0300c9, 0x7f0300ca,
- 0x7f0300cb, 0x7f0300cc, 0x7f0300ce, 0x7f0300cf,
- 0x7f0300df, 0x7f0300e0, 0x7f0300e4, 0x7f0300e5,
- 0x7f0300e6, 0x7f0300e7, 0x7f0300e8, 0x7f0300e9,
- 0x7f0300ea, 0x7f0300eb, 0x7f0300ec, 0x7f0300ed
+ 0x7f030062, 0x7f030063, 0x7f030072, 0x7f030076,
+ 0x7f03007e, 0x7f03007f, 0x7f030082, 0x7f030083,
+ 0x7f030084, 0x7f030085, 0x7f030086, 0x7f030087,
+ 0x7f030095, 0x7f030096, 0x7f030097, 0x7f030098,
+ 0x7f03009a, 0x7f0300a0, 0x7f0300a2, 0x7f0300a3,
+ 0x7f0300a4, 0x7f0300a8, 0x7f0300a9, 0x7f0300aa,
+ 0x7f0300ab, 0x7f0300b5, 0x7f0300b6, 0x7f0300c5,
+ 0x7f0300c8, 0x7f0300c9, 0x7f0300ca, 0x7f0300cb,
+ 0x7f0300cc, 0x7f0300cd, 0x7f0300cf, 0x7f0300d0,
+ 0x7f0300e0, 0x7f0300e1, 0x7f0300e5, 0x7f0300e6,
+ 0x7f0300e7, 0x7f0300e8, 0x7f0300e9, 0x7f0300ea,
+ 0x7f0300eb, 0x7f0300ec, 0x7f0300ed, 0x7f0300ee
};
/**
+ * <p>This symbol is the offset where the {@link android.R.attr#windowIsFloating}
+ * attribute's value can be found in the {@link #AppCompatTheme} array.
+ *
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
+ *
+ * @attr name android:windowIsFloating
+ */
+ public static final int AppCompatTheme_android_windowIsFloating=0;
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#windowAnimationStyle}
+ * attribute's value can be found in the {@link #AppCompatTheme} array.
+ *
+ * <p>May be a reference to another resource, in the form
+ * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
+ * attribute in the form
+ * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ *
+ * @attr name android:windowAnimationStyle
+ */
+ public static final int AppCompatTheme_android_windowAnimationStyle=1;
+ /**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionBarDivider}
* attribute's value can be found in the {@link #AppCompatTheme} array.
*
@@ -4841,28 +4906,6 @@ public final class R {
*/
public static final int AppCompatTheme_alertDialogTheme=36;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#windowAnimationStyle}
- * attribute's value can be found in the {@link #AppCompatTheme} array.
- *
- * <p>May be a reference to another resource, in the form
- * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
- * attribute in the form
- * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
- *
- * @attr name android:windowAnimationStyle
- */
- public static final int AppCompatTheme_android_windowAnimationStyle=1;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#windowIsFloating}
- * attribute's value can be found in the {@link #AppCompatTheme} array.
- *
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
- *
- * @attr name android:windowIsFloating
- */
- public static final int AppCompatTheme_android_windowIsFloating=0;
- /**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#autoCompleteTextViewStyle}
* attribute's value can be found in the {@link #AppCompatTheme} array.
*
@@ -5841,8 +5884,8 @@ public final class R {
* @see #CirclePageIndicator_strokeWidth
*/
public static final int[] CirclePageIndicator={
- 0x7f03003b, 0x7f030066, 0x7f030090, 0x7f0300a0,
- 0x7f0300b1, 0x7f0300ba, 0x7f0300bb
+ 0x7f03003b, 0x7f030066, 0x7f030091, 0x7f0300a1,
+ 0x7f0300b2, 0x7f0300bb, 0x7f0300bc
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#centered}
@@ -5943,7 +5986,7 @@ public final class R {
* @see #ColoredButton_normalStateColor
*/
public static final int[] ColoredButton={
- 0x7f030053, 0x7f03008f
+ 0x7f030053, 0x7f030090
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#cornerRadius}
@@ -6056,7 +6099,7 @@ public final class R {
*/
public static final int[] DrawerArrowToggle={
0x7f030027, 0x7f030028, 0x7f03002f, 0x7f030044,
- 0x7f03005d, 0x7f03006d, 0x7f0300b3, 0x7f0300d2
+ 0x7f03005d, 0x7f03006d, 0x7f0300b4, 0x7f0300d3
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#arrowHeadLength}
@@ -6186,32 +6229,12 @@ public final class R {
*/
public static final int[] LinearLayoutCompat={
0x010100af, 0x010100c4, 0x01010126, 0x01010127,
- 0x01010128, 0x7f030059, 0x7f03005b, 0x7f03008a,
- 0x7f0300ae
- };
- /**
- * Attributes that can be used with a LinearLayoutCompat_Layout.
- * <p>Includes the following attributes:</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Attribute</th><th>Description</th></tr>
- * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_gravity android:layout_gravity}</code></td><td></td></tr>
- * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_width android:layout_width}</code></td><td></td></tr>
- * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_height android:layout_height}</code></td><td></td></tr>
- * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_weight android:layout_weight}</code></td><td></td></tr>
- * </table>
- * @see #LinearLayoutCompat_Layout_android_layout_gravity
- * @see #LinearLayoutCompat_Layout_android_layout_width
- * @see #LinearLayoutCompat_Layout_android_layout_height
- * @see #LinearLayoutCompat_Layout_android_layout_weight
- */
- public static final int[] LinearLayoutCompat_Layout={
- 0x010100b3, 0x010100f4, 0x010100f5, 0x01010181
+ 0x01010128, 0x7f030059, 0x7f03005b, 0x7f03008b,
+ 0x7f0300af
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#layout_gravity}
- * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
+ * <p>This symbol is the offset where the {@link android.R.attr#gravity}
+ * attribute's value can be found in the {@link #LinearLayoutCompat} array.
*
* <p>Must be one or more (separated by '|') of the following constant values.</p>
* <table>
@@ -6235,64 +6258,26 @@ public final class R {
* <tr><td>top</td><td>30</td><td></td></tr>
* </table>
*
- * @attr name android:layout_gravity
- */
- public static final int LinearLayoutCompat_Layout_android_layout_gravity=0;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#layout_height}
- * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
- *
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
- * <p>Must be one of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>wrap_content</td><td>fffffffe</td><td></td></tr>
- * <tr><td>fill_parent</td><td>ffffffff</td><td></td></tr>
- * <tr><td>match_parent</td><td>ffffffff</td><td></td></tr>
- * </table>
- *
- * @attr name android:layout_height
- */
- public static final int LinearLayoutCompat_Layout_android_layout_height=2;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#layout_weight}
- * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
- *
- * <p>May be a floating point value, such as "<code>1.2</code>".
- *
- * @attr name android:layout_weight
+ * @attr name android:gravity
*/
- public static final int LinearLayoutCompat_Layout_android_layout_weight=3;
+ public static final int LinearLayoutCompat_android_gravity=0;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#layout_width}
- * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
+ * <p>This symbol is the offset where the {@link android.R.attr#orientation}
+ * attribute's value can be found in the {@link #LinearLayoutCompat} array.
*
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
* <p>Must be one of the following constant values.</p>
* <table>
* <colgroup align="left" />
* <colgroup align="left" />
* <colgroup align="left" />
* <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>wrap_content</td><td>fffffffe</td><td></td></tr>
- * <tr><td>fill_parent</td><td>ffffffff</td><td></td></tr>
- * <tr><td>match_parent</td><td>ffffffff</td><td></td></tr>
+ * <tr><td>horizontal</td><td>0</td><td></td></tr>
+ * <tr><td>vertical</td><td>1</td><td></td></tr>
* </table>
*
- * @attr name android:layout_width
+ * @attr name android:orientation
*/
- public static final int LinearLayoutCompat_Layout_android_layout_width=1;
+ public static final int LinearLayoutCompat_android_orientation=1;
/**
* <p>This symbol is the offset where the {@link android.R.attr#baselineAligned}
* attribute's value can be found in the {@link #LinearLayoutCompat} array.
@@ -6313,52 +6298,6 @@ public final class R {
*/
public static final int LinearLayoutCompat_android_baselineAlignedChildIndex=3;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#gravity}
- * attribute's value can be found in the {@link #LinearLayoutCompat} array.
- *
- * <p>Must be one or more (separated by '|') of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>end</td><td>800005</td><td></td></tr>
- * <tr><td>start</td><td>800003</td><td></td></tr>
- * <tr><td>bottom</td><td>50</td><td></td></tr>
- * <tr><td>center</td><td>11</td><td></td></tr>
- * <tr><td>center_horizontal</td><td>1</td><td></td></tr>
- * <tr><td>center_vertical</td><td>10</td><td></td></tr>
- * <tr><td>clip_horizontal</td><td>8</td><td></td></tr>
- * <tr><td>clip_vertical</td><td>80</td><td></td></tr>
- * <tr><td>fill</td><td>77</td><td></td></tr>
- * <tr><td>fill_horizontal</td><td>7</td><td></td></tr>
- * <tr><td>fill_vertical</td><td>70</td><td></td></tr>
- * <tr><td>left</td><td>3</td><td></td></tr>
- * <tr><td>right</td><td>5</td><td></td></tr>
- * <tr><td>top</td><td>30</td><td></td></tr>
- * </table>
- *
- * @attr name android:gravity
- */
- public static final int LinearLayoutCompat_android_gravity=0;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#orientation}
- * attribute's value can be found in the {@link #LinearLayoutCompat} array.
- *
- * <p>Must be one of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>horizontal</td><td>0</td><td></td></tr>
- * <tr><td>vertical</td><td>1</td><td></td></tr>
- * </table>
- *
- * @attr name android:orientation
- */
- public static final int LinearLayoutCompat_android_orientation=1;
- /**
* <p>This symbol is the offset where the {@link android.R.attr#weightSum}
* attribute's value can be found in the {@link #LinearLayoutCompat} array.
*
@@ -6422,6 +6361,110 @@ public final class R {
*/
public static final int LinearLayoutCompat_showDividers=8;
/**
+ * Attributes that can be used with a LinearLayoutCompat_Layout.
+ * <p>Includes the following attributes:</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Attribute</th><th>Description</th></tr>
+ * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_gravity android:layout_gravity}</code></td><td></td></tr>
+ * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_width android:layout_width}</code></td><td></td></tr>
+ * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_height android:layout_height}</code></td><td></td></tr>
+ * <tr><td><code>{@link #LinearLayoutCompat_Layout_android_layout_weight android:layout_weight}</code></td><td></td></tr>
+ * </table>
+ * @see #LinearLayoutCompat_Layout_android_layout_gravity
+ * @see #LinearLayoutCompat_Layout_android_layout_width
+ * @see #LinearLayoutCompat_Layout_android_layout_height
+ * @see #LinearLayoutCompat_Layout_android_layout_weight
+ */
+ public static final int[] LinearLayoutCompat_Layout={
+ 0x010100b3, 0x010100f4, 0x010100f5, 0x01010181
+ };
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#layout_gravity}
+ * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
+ *
+ * <p>Must be one or more (separated by '|') of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>end</td><td>800005</td><td></td></tr>
+ * <tr><td>start</td><td>800003</td><td></td></tr>
+ * <tr><td>bottom</td><td>50</td><td></td></tr>
+ * <tr><td>center</td><td>11</td><td></td></tr>
+ * <tr><td>center_horizontal</td><td>1</td><td></td></tr>
+ * <tr><td>center_vertical</td><td>10</td><td></td></tr>
+ * <tr><td>clip_horizontal</td><td>8</td><td></td></tr>
+ * <tr><td>clip_vertical</td><td>80</td><td></td></tr>
+ * <tr><td>fill</td><td>77</td><td></td></tr>
+ * <tr><td>fill_horizontal</td><td>7</td><td></td></tr>
+ * <tr><td>fill_vertical</td><td>70</td><td></td></tr>
+ * <tr><td>left</td><td>3</td><td></td></tr>
+ * <tr><td>right</td><td>5</td><td></td></tr>
+ * <tr><td>top</td><td>30</td><td></td></tr>
+ * </table>
+ *
+ * @attr name android:layout_gravity
+ */
+ public static final int LinearLayoutCompat_Layout_android_layout_gravity=0;
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#layout_width}
+ * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
+ *
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
+ * <p>Must be one of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>wrap_content</td><td>fffffffe</td><td></td></tr>
+ * <tr><td>fill_parent</td><td>ffffffff</td><td></td></tr>
+ * <tr><td>match_parent</td><td>ffffffff</td><td></td></tr>
+ * </table>
+ *
+ * @attr name android:layout_width
+ */
+ public static final int LinearLayoutCompat_Layout_android_layout_width=1;
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#layout_height}
+ * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
+ *
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
+ * <p>Must be one of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>wrap_content</td><td>fffffffe</td><td></td></tr>
+ * <tr><td>fill_parent</td><td>ffffffff</td><td></td></tr>
+ * <tr><td>match_parent</td><td>ffffffff</td><td></td></tr>
+ * </table>
+ *
+ * @attr name android:layout_height
+ */
+ public static final int LinearLayoutCompat_Layout_android_layout_height=2;
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#layout_weight}
+ * attribute's value can be found in the {@link #LinearLayoutCompat_Layout} array.
+ *
+ * <p>May be a floating point value, such as "<code>1.2</code>".
+ *
+ * @attr name android:layout_weight
+ */
+ public static final int LinearLayoutCompat_Layout_android_layout_weight=3;
+ /**
* Attributes that can be used with a ListPopupWindow.
* <p>Includes the following attributes:</p>
* <table>
@@ -6489,24 +6532,6 @@ public final class R {
0x010101df, 0x010101e0
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#checkableBehavior}
- * attribute's value can be found in the {@link #MenuGroup} array.
- *
- * <p>Must be one of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>none</td><td>0</td><td></td></tr>
- * <tr><td>all</td><td>1</td><td></td></tr>
- * <tr><td>single</td><td>2</td><td></td></tr>
- * </table>
- *
- * @attr name android:checkableBehavior
- */
- public static final int MenuGroup_android_checkableBehavior=5;
- /**
* <p>This symbol is the offset where the {@link android.R.attr#enabled}
* attribute's value can be found in the {@link #MenuGroup} array.
*
@@ -6529,6 +6554,16 @@ public final class R {
*/
public static final int MenuGroup_android_id=1;
/**
+ * <p>This symbol is the offset where the {@link android.R.attr#visible}
+ * attribute's value can be found in the {@link #MenuGroup} array.
+ *
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
+ *
+ * @attr name android:visible
+ */
+ public static final int MenuGroup_android_visible=2;
+ /**
* <p>This symbol is the offset where the {@link android.R.attr#menuCategory}
* attribute's value can be found in the {@link #MenuGroup} array.
*
@@ -6557,15 +6592,23 @@ public final class R {
*/
public static final int MenuGroup_android_orderInCategory=4;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#visible}
+ * <p>This symbol is the offset where the {@link android.R.attr#checkableBehavior}
* attribute's value can be found in the {@link #MenuGroup} array.
*
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
+ * <p>Must be one of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>none</td><td>0</td><td></td></tr>
+ * <tr><td>all</td><td>1</td><td></td></tr>
+ * <tr><td>single</td><td>2</td><td></td></tr>
+ * </table>
*
- * @attr name android:visible
+ * @attr name android:checkableBehavior
*/
- public static final int MenuGroup_android_visible=2;
+ public static final int MenuGroup_android_checkableBehavior=5;
/**
* Attributes that can be used with a MenuItem.
* <p>Includes the following attributes:</p>
@@ -6614,10 +6657,10 @@ public final class R {
0x01010194, 0x010101de, 0x010101df, 0x010101e1,
0x010101e2, 0x010101e3, 0x010101e4, 0x010101e5,
0x0101026f, 0x7f03000d, 0x7f03001f, 0x7f030020,
- 0x7f0300ad
+ 0x7f0300ae
};
/**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionLayout}
+ * <p>This symbol is the offset where the {@link android.R.attr#icon}
* attribute's value can be found in the {@link #MenuItem} array.
*
* <p>May be a reference to another resource, in the form
@@ -6625,112 +6668,109 @@ public final class R {
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*
- * @attr name de.bjusystems.vdrmanager:actionLayout
+ * @attr name android:icon
*/
- public static final int MenuItem_actionLayout=13;
+ public static final int MenuItem_android_icon=0;
/**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionProviderClass}
+ * <p>This symbol is the offset where the {@link android.R.attr#enabled}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a string value, using '\\;' to escape characters such as
- * '\\n' or '\\uxxxx' for a unicode character;
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
*
- * @attr name de.bjusystems.vdrmanager:actionProviderClass
+ * @attr name android:enabled
*/
- public static final int MenuItem_actionProviderClass=14;
+ public static final int MenuItem_android_enabled=1;
/**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionViewClass}
+ * <p>This symbol is the offset where the {@link android.R.attr#id}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a string value, using '\\;' to escape characters such as
- * '\\n' or '\\uxxxx' for a unicode character;
+ * <p>May be a reference to another resource, in the form
+ * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
+ * attribute in the form
+ * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*
- * @attr name de.bjusystems.vdrmanager:actionViewClass
+ * @attr name android:id
*/
- public static final int MenuItem_actionViewClass=15;
+ public static final int MenuItem_android_id=2;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#alphabeticShortcut}
+ * <p>This symbol is the offset where the {@link android.R.attr#checked}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a string value, using '\\;' to escape characters such as
- * '\\n' or '\\uxxxx' for a unicode character;
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
*
- * @attr name android:alphabeticShortcut
+ * @attr name android:checked
*/
- public static final int MenuItem_android_alphabeticShortcut=9;
+ public static final int MenuItem_android_checked=3;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#checkable}
+ * <p>This symbol is the offset where the {@link android.R.attr#visible}
* attribute's value can be found in the {@link #MenuItem} array.
*
* <p>May be a boolean value, such as "<code>true</code>" or
* "<code>false</code>".
*
- * @attr name android:checkable
+ * @attr name android:visible
*/
- public static final int MenuItem_android_checkable=11;
+ public static final int MenuItem_android_visible=4;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#checked}
+ * <p>This symbol is the offset where the {@link android.R.attr#menuCategory}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
+ * <p>Must be one of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>alternative</td><td>40000</td><td></td></tr>
+ * <tr><td>container</td><td>10000</td><td></td></tr>
+ * <tr><td>secondary</td><td>30000</td><td></td></tr>
+ * <tr><td>system</td><td>20000</td><td></td></tr>
+ * </table>
*
- * @attr name android:checked
+ * @attr name android:menuCategory
*/
- public static final int MenuItem_android_checked=3;
+ public static final int MenuItem_android_menuCategory=5;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#enabled}
+ * <p>This symbol is the offset where the {@link android.R.attr#orderInCategory}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
+ * <p>May be an integer value, such as "<code>100</code>".
*
- * @attr name android:enabled
+ * @attr name android:orderInCategory
*/
- public static final int MenuItem_android_enabled=1;
+ public static final int MenuItem_android_orderInCategory=6;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#icon}
+ * <p>This symbol is the offset where the {@link android.R.attr#title}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a reference to another resource, in the form
- * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
- * attribute in the form
- * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ * <p>May be a string value, using '\\;' to escape characters such as
+ * '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:icon
+ * @attr name android:title
*/
- public static final int MenuItem_android_icon=0;
+ public static final int MenuItem_android_title=7;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#id}
+ * <p>This symbol is the offset where the {@link android.R.attr#titleCondensed}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be a reference to another resource, in the form
- * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
- * attribute in the form
- * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ * <p>May be a string value, using '\\;' to escape characters such as
+ * '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:id
+ * @attr name android:titleCondensed
*/
- public static final int MenuItem_android_id=2;
+ public static final int MenuItem_android_titleCondensed=8;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#menuCategory}
+ * <p>This symbol is the offset where the {@link android.R.attr#alphabeticShortcut}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>Must be one of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>alternative</td><td>40000</td><td></td></tr>
- * <tr><td>container</td><td>10000</td><td></td></tr>
- * <tr><td>secondary</td><td>30000</td><td></td></tr>
- * <tr><td>system</td><td>20000</td><td></td></tr>
- * </table>
+ * <p>May be a string value, using '\\;' to escape characters such as
+ * '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:menuCategory
+ * @attr name android:alphabeticShortcut
*/
- public static final int MenuItem_android_menuCategory=5;
+ public static final int MenuItem_android_alphabeticShortcut=9;
/**
* <p>This symbol is the offset where the {@link android.R.attr#numericShortcut}
* attribute's value can be found in the {@link #MenuItem} array.
@@ -6742,6 +6782,16 @@ public final class R {
*/
public static final int MenuItem_android_numericShortcut=10;
/**
+ * <p>This symbol is the offset where the {@link android.R.attr#checkable}
+ * attribute's value can be found in the {@link #MenuItem} array.
+ *
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
+ *
+ * @attr name android:checkable
+ */
+ public static final int MenuItem_android_checkable=11;
+ /**
* <p>This symbol is the offset where the {@link android.R.attr#onClick}
* attribute's value can be found in the {@link #MenuItem} array.
*
@@ -6752,44 +6802,37 @@ public final class R {
*/
public static final int MenuItem_android_onClick=12;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#orderInCategory}
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionLayout}
* attribute's value can be found in the {@link #MenuItem} array.
*
- * <p>May be an integer value, such as "<code>100</code>".
+ * <p>May be a reference to another resource, in the form
+ * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
+ * attribute in the form
+ * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*
- * @attr name android:orderInCategory
+ * @attr name de.bjusystems.vdrmanager:actionLayout
*/
- public static final int MenuItem_android_orderInCategory=6;
+ public static final int MenuItem_actionLayout=13;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#title}
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionProviderClass}
* attribute's value can be found in the {@link #MenuItem} array.
*
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:title
+ * @attr name de.bjusystems.vdrmanager:actionProviderClass
*/
- public static final int MenuItem_android_title=7;
+ public static final int MenuItem_actionProviderClass=14;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#titleCondensed}
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#actionViewClass}
* attribute's value can be found in the {@link #MenuItem} array.
*
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:titleCondensed
- */
- public static final int MenuItem_android_titleCondensed=8;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#visible}
- * attribute's value can be found in the {@link #MenuItem} array.
- *
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
- *
- * @attr name android:visible
+ * @attr name de.bjusystems.vdrmanager:actionViewClass
*/
- public static final int MenuItem_android_visible=4;
+ public static final int MenuItem_actionViewClass=15;
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#showAsAction}
* attribute's value can be found in the {@link #MenuItem} array.
@@ -6837,25 +6880,22 @@ public final class R {
*/
public static final int[] MenuView={
0x010100ae, 0x0101012c, 0x0101012d, 0x0101012e,
- 0x0101012f, 0x01010130, 0x01010131, 0x7f03009a
+ 0x0101012f, 0x01010130, 0x01010131, 0x7f03009b
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#headerBackground}
+ * <p>This symbol is the offset where the {@link android.R.attr#windowAnimationStyle}
* attribute's value can be found in the {@link #MenuView} array.
*
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
- * <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
- * "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
- * "<code>#<i>aarrggbb</i></code>".
*
- * @attr name android:headerBackground
+ * @attr name android:windowAnimationStyle
*/
- public static final int MenuView_android_headerBackground=4;
+ public static final int MenuView_android_windowAnimationStyle=0;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#horizontalDivider}
+ * <p>This symbol is the offset where the {@link android.R.attr#itemTextAppearance}
* attribute's value can be found in the {@link #MenuView} array.
*
* <p>May be a reference to another resource, in the form
@@ -6863,69 +6903,72 @@ public final class R {
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*
- * @attr name android:horizontalDivider
+ * @attr name android:itemTextAppearance
*/
- public static final int MenuView_android_horizontalDivider=2;
+ public static final int MenuView_android_itemTextAppearance=1;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#itemBackground}
+ * <p>This symbol is the offset where the {@link android.R.attr#horizontalDivider}
* attribute's value can be found in the {@link #MenuView} array.
*
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
- * <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
- * "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
- * "<code>#<i>aarrggbb</i></code>".
*
- * @attr name android:itemBackground
+ * @attr name android:horizontalDivider
*/
- public static final int MenuView_android_itemBackground=5;
+ public static final int MenuView_android_horizontalDivider=2;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#itemIconDisabledAlpha}
+ * <p>This symbol is the offset where the {@link android.R.attr#verticalDivider}
* attribute's value can be found in the {@link #MenuView} array.
*
- * <p>May be a floating point value, such as "<code>1.2</code>".
+ * <p>May be a reference to another resource, in the form
+ * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
+ * attribute in the form
+ * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*
- * @attr name android:itemIconDisabledAlpha
+ * @attr name android:verticalDivider
*/
- public static final int MenuView_android_itemIconDisabledAlpha=6;
+ public static final int MenuView_android_verticalDivider=3;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#itemTextAppearance}
+ * <p>This symbol is the offset where the {@link android.R.attr#headerBackground}
* attribute's value can be found in the {@link #MenuView} array.
*
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ * <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
+ * "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
+ * "<code>#<i>aarrggbb</i></code>".
*
- * @attr name android:itemTextAppearance
+ * @attr name android:headerBackground
*/
- public static final int MenuView_android_itemTextAppearance=1;
+ public static final int MenuView_android_headerBackground=4;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#verticalDivider}
+ * <p>This symbol is the offset where the {@link android.R.attr#itemBackground}
* attribute's value can be found in the {@link #MenuView} array.
*
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ * <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
+ * "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
+ * "<code>#<i>aarrggbb</i></code>".
*
- * @attr name android:verticalDivider
+ * @attr name android:itemBackground
*/
- public static final int MenuView_android_verticalDivider=3;
+ public static final int MenuView_android_itemBackground=5;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#windowAnimationStyle}
+ * <p>This symbol is the offset where the {@link android.R.attr#itemIconDisabledAlpha}
* attribute's value can be found in the {@link #MenuView} array.
*
- * <p>May be a reference to another resource, in the form
- * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
- * attribute in the form
- * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ * <p>May be a floating point value, such as "<code>1.2</code>".
*
- * @attr name android:windowAnimationStyle
+ * @attr name android:itemIconDisabledAlpha
*/
- public static final int MenuView_android_windowAnimationStyle=0;
+ public static final int MenuView_android_itemIconDisabledAlpha=6;
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#preserveIconSpacing}
* attribute's value can be found in the {@link #MenuView} array.
@@ -6950,33 +6993,9 @@ public final class R {
* @see #PopupWindow_overlapAnchor
*/
public static final int[] PopupWindow={
- 0x01010176, 0x7f030091
- };
- /**
- * Attributes that can be used with a PopupWindowBackgroundState.
- * <p>Includes the following attributes:</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Attribute</th><th>Description</th></tr>
- * <tr><td><code>{@link #PopupWindowBackgroundState_state_above_anchor de.bjusystems.vdrmanager:state_above_anchor}</code></td><td></td></tr>
- * </table>
- * @see #PopupWindowBackgroundState_state_above_anchor
- */
- public static final int[] PopupWindowBackgroundState={
- 0x7f0300b9
+ 0x01010176, 0x7f030092
};
/**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#state_above_anchor}
- * attribute's value can be found in the {@link #PopupWindowBackgroundState} array.
- *
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
- *
- * @attr name de.bjusystems.vdrmanager:state_above_anchor
- */
- public static final int PopupWindowBackgroundState_state_above_anchor=0;
- /**
* <p>This symbol is the offset where the {@link android.R.attr#popupBackground}
* attribute's value can be found in the {@link #PopupWindow} array.
*
@@ -7002,6 +7021,30 @@ public final class R {
*/
public static final int PopupWindow_overlapAnchor=1;
/**
+ * Attributes that can be used with a PopupWindowBackgroundState.
+ * <p>Includes the following attributes:</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Attribute</th><th>Description</th></tr>
+ * <tr><td><code>{@link #PopupWindowBackgroundState_state_above_anchor de.bjusystems.vdrmanager:state_above_anchor}</code></td><td></td></tr>
+ * </table>
+ * @see #PopupWindowBackgroundState_state_above_anchor
+ */
+ public static final int[] PopupWindowBackgroundState={
+ 0x7f0300ba
+ };
+ /**
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#state_above_anchor}
+ * attribute's value can be found in the {@link #PopupWindowBackgroundState} array.
+ *
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
+ *
+ * @attr name de.bjusystems.vdrmanager:state_above_anchor
+ */
+ public static final int PopupWindowBackgroundState_state_above_anchor=0;
+ /**
* Attributes that can be used with a RecyclerView.
* <p>Includes the following attributes:</p>
* <table>
@@ -7021,8 +7064,8 @@ public final class R {
* @see #RecyclerView_stackFromEnd
*/
public static final int[] RecyclerView={
- 0x010100c4, 0x7f03007b, 0x7f0300a4, 0x7f0300b2,
- 0x7f0300b8
+ 0x010100c4, 0x7f03007c, 0x7f0300a5, 0x7f0300b3,
+ 0x7f0300b9
};
/**
* <p>This symbol is the offset where the {@link android.R.attr#orientation}
@@ -7126,9 +7169,9 @@ public final class R {
public static final int[] SearchView={
0x010100da, 0x0101011f, 0x01010220, 0x01010264,
0x7f030040, 0x7f03004d, 0x7f030055, 0x7f03006e,
- 0x7f030074, 0x7f03007a, 0x7f03009d, 0x7f03009e,
- 0x7f0300a5, 0x7f0300a6, 0x7f0300bc, 0x7f0300c1,
- 0x7f0300e3
+ 0x7f030075, 0x7f03007b, 0x7f03009e, 0x7f03009f,
+ 0x7f0300a6, 0x7f0300a7, 0x7f0300bd, 0x7f0300c2,
+ 0x7f0300e4
};
/**
* <p>This symbol is the offset where the {@link android.R.attr#focusable}
@@ -7141,36 +7184,18 @@ public final class R {
*/
public static final int SearchView_android_focusable=0;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#imeOptions}
+ * <p>This symbol is the offset where the {@link android.R.attr#maxWidth}
* attribute's value can be found in the {@link #SearchView} array.
*
- * <p>Must be one or more (separated by '|') of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>normal</td><td>0</td><td></td></tr>
- * <tr><td>actionDone</td><td>6</td><td></td></tr>
- * <tr><td>actionGo</td><td>2</td><td></td></tr>
- * <tr><td>actionNext</td><td>5</td><td></td></tr>
- * <tr><td>actionNone</td><td>1</td><td></td></tr>
- * <tr><td>actionPrevious</td><td>7</td><td></td></tr>
- * <tr><td>actionSearch</td><td>3</td><td></td></tr>
- * <tr><td>actionSend</td><td>4</td><td></td></tr>
- * <tr><td>actionUnspecified</td><td>0</td><td></td></tr>
- * <tr><td>flagForceAscii</td><td>80000000</td><td></td></tr>
- * <tr><td>flagNavigateNext</td><td>8000000</td><td></td></tr>
- * <tr><td>flagNavigatePrevious</td><td>4000000</td><td></td></tr>
- * <tr><td>flagNoAccessoryAction</td><td>20000000</td><td></td></tr>
- * <tr><td>flagNoEnterAction</td><td>40000000</td><td></td></tr>
- * <tr><td>flagNoExtractUi</td><td>10000000</td><td></td></tr>
- * <tr><td>flagNoFullscreen</td><td>2000000</td><td></td></tr>
- * </table>
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
*
- * @attr name android:imeOptions
+ * @attr name android:maxWidth
*/
- public static final int SearchView_android_imeOptions=3;
+ public static final int SearchView_android_maxWidth=1;
/**
* <p>This symbol is the offset where the {@link android.R.attr#inputType}
* attribute's value can be found in the {@link #SearchView} array.
@@ -7219,18 +7244,36 @@ public final class R {
*/
public static final int SearchView_android_inputType=2;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#maxWidth}
+ * <p>This symbol is the offset where the {@link android.R.attr#imeOptions}
* attribute's value can be found in the {@link #SearchView} array.
*
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
+ * <p>Must be one or more (separated by '|') of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>normal</td><td>0</td><td></td></tr>
+ * <tr><td>actionDone</td><td>6</td><td></td></tr>
+ * <tr><td>actionGo</td><td>2</td><td></td></tr>
+ * <tr><td>actionNext</td><td>5</td><td></td></tr>
+ * <tr><td>actionNone</td><td>1</td><td></td></tr>
+ * <tr><td>actionPrevious</td><td>7</td><td></td></tr>
+ * <tr><td>actionSearch</td><td>3</td><td></td></tr>
+ * <tr><td>actionSend</td><td>4</td><td></td></tr>
+ * <tr><td>actionUnspecified</td><td>0</td><td></td></tr>
+ * <tr><td>flagForceAscii</td><td>80000000</td><td></td></tr>
+ * <tr><td>flagNavigateNext</td><td>8000000</td><td></td></tr>
+ * <tr><td>flagNavigatePrevious</td><td>4000000</td><td></td></tr>
+ * <tr><td>flagNoAccessoryAction</td><td>20000000</td><td></td></tr>
+ * <tr><td>flagNoEnterAction</td><td>40000000</td><td></td></tr>
+ * <tr><td>flagNoExtractUi</td><td>10000000</td><td></td></tr>
+ * <tr><td>flagNoFullscreen</td><td>2000000</td><td></td></tr>
+ * </table>
*
- * @attr name android:maxWidth
+ * @attr name android:imeOptions
*/
- public static final int SearchView_android_maxWidth=1;
+ public static final int SearchView_android_imeOptions=3;
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#closeIcon}
* attribute's value can be found in the {@link #SearchView} array.
@@ -7388,14 +7431,26 @@ public final class R {
* <colgroup align="left" />
* <colgroup align="left" />
* <tr><th>Attribute</th><th>Description</th></tr>
+ * <tr><td><code>{@link #SearchableSpinner_hintText de.bjusystems.vdrmanager:hintText}</code></td><td></td></tr>
* <tr><td><code>{@link #SearchableSpinner_list de.bjusystems.vdrmanager:list}</code></td><td></td></tr>
* </table>
+ * @see #SearchableSpinner_hintText
* @see #SearchableSpinner_list
*/
public static final int[] SearchableSpinner={
- 0x7f03007c
+ 0x7f030071, 0x7f03007d
};
/**
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#hintText}
+ * attribute's value can be found in the {@link #SearchableSpinner} array.
+ *
+ * <p>May be a string value, using '\\;' to escape characters such as
+ * '\\n' or '\\uxxxx' for a unicode character;
+ *
+ * @attr name de.bjusystems.vdrmanager:hintText
+ */
+ public static final int SearchableSpinner_hintText=0;
+ /**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#list}
* attribute's value can be found in the {@link #SearchableSpinner} array.
*
@@ -7406,7 +7461,7 @@ public final class R {
*
* @attr name de.bjusystems.vdrmanager:list
*/
- public static final int SearchableSpinner_list=0;
+ public static final int SearchableSpinner_list=1;
/**
* Attributes that can be used with a Spinner.
* <p>Includes the following attributes:</p>
@@ -7428,32 +7483,9 @@ public final class R {
*/
public static final int[] Spinner={
0x010100b2, 0x01010176, 0x0101017b, 0x01010262,
- 0x7f030098
+ 0x7f030099
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#dropDownWidth}
- * attribute's value can be found in the {@link #Spinner} array.
- *
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
- * <p>Must be one of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>wrap_content</td><td>fffffffe</td><td></td></tr>
- * <tr><td>fill_parent</td><td>ffffffff</td><td></td></tr>
- * <tr><td>match_parent</td><td>ffffffff</td><td></td></tr>
- * </table>
- *
- * @attr name android:dropDownWidth
- */
- public static final int Spinner_android_dropDownWidth=3;
- /**
* <p>This symbol is the offset where the {@link android.R.attr#entries}
* attribute's value can be found in the {@link #Spinner} array.
*
@@ -7493,6 +7525,29 @@ public final class R {
*/
public static final int Spinner_android_prompt=2;
/**
+ * <p>This symbol is the offset where the {@link android.R.attr#dropDownWidth}
+ * attribute's value can be found in the {@link #Spinner} array.
+ *
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
+ * <p>Must be one of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>wrap_content</td><td>fffffffe</td><td></td></tr>
+ * <tr><td>fill_parent</td><td>ffffffff</td><td></td></tr>
+ * <tr><td>match_parent</td><td>ffffffff</td><td></td></tr>
+ * </table>
+ *
+ * @attr name android:dropDownWidth
+ */
+ public static final int Spinner_android_dropDownWidth=3;
+ /**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#popupTheme}
* attribute's value can be found in the {@link #Spinner} array.
*
@@ -7534,30 +7589,30 @@ public final class R {
* @see #SwitchCompat_track
*/
public static final int[] SwitchCompat={
- 0x01010124, 0x01010125, 0x01010142, 0x7f0300af,
- 0x7f0300b6, 0x7f0300c2, 0x7f0300c3, 0x7f0300c5,
- 0x7f0300d3, 0x7f0300e2
+ 0x01010124, 0x01010125, 0x01010142, 0x7f0300b0,
+ 0x7f0300b7, 0x7f0300c3, 0x7f0300c4, 0x7f0300c6,
+ 0x7f0300d4, 0x7f0300e3
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#textOff}
+ * <p>This symbol is the offset where the {@link android.R.attr#textOn}
* attribute's value can be found in the {@link #SwitchCompat} array.
*
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:textOff
+ * @attr name android:textOn
*/
- public static final int SwitchCompat_android_textOff=1;
+ public static final int SwitchCompat_android_textOn=0;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#textOn}
+ * <p>This symbol is the offset where the {@link android.R.attr#textOff}
* attribute's value can be found in the {@link #SwitchCompat} array.
*
* <p>May be a string value, using '\\;' to escape characters such as
* '\\n' or '\\uxxxx' for a unicode character;
*
- * @attr name android:textOn
+ * @attr name android:textOff
*/
- public static final int SwitchCompat_android_textOn=0;
+ public static final int SwitchCompat_android_textOff=1;
/**
* <p>This symbol is the offset where the {@link android.R.attr#thumb}
* attribute's value can be found in the {@link #SwitchCompat} array.
@@ -7683,46 +7738,58 @@ public final class R {
public static final int[] TextAppearance={
0x01010095, 0x01010096, 0x01010097, 0x01010098,
0x01010161, 0x01010162, 0x01010163, 0x01010164,
- 0x7f0300c6
+ 0x7f0300c7
};
/**
- * <p>This symbol is the offset where the {@link android.R.attr#shadowColor}
- * attribute's value can be found in the {@link #TextAppearance} array.
- *
- * <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
- * "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
- * "<code>#<i>aarrggbb</i></code>".
- *
- * @attr name android:shadowColor
- */
- public static final int TextAppearance_android_shadowColor=4;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#shadowDx}
+ * <p>This symbol is the offset where the {@link android.R.attr#textSize}
* attribute's value can be found in the {@link #TextAppearance} array.
*
- * <p>May be a floating point value, such as "<code>1.2</code>".
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
*
- * @attr name android:shadowDx
+ * @attr name android:textSize
*/
- public static final int TextAppearance_android_shadowDx=5;
+ public static final int TextAppearance_android_textSize=0;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#shadowDy}
+ * <p>This symbol is the offset where the {@link android.R.attr#typeface}
* attribute's value can be found in the {@link #TextAppearance} array.
*
- * <p>May be a floating point value, such as "<code>1.2</code>".
+ * <p>Must be one of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>monospace</td><td>3</td><td></td></tr>
+ * <tr><td>normal</td><td>0</td><td></td></tr>
+ * <tr><td>sans</td><td>1</td><td></td></tr>
+ * <tr><td>serif</td><td>2</td><td></td></tr>
+ * </table>
*
- * @attr name android:shadowDy
+ * @attr name android:typeface
*/
- public static final int TextAppearance_android_shadowDy=6;
+ public static final int TextAppearance_android_typeface=1;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#shadowRadius}
+ * <p>This symbol is the offset where the {@link android.R.attr#textStyle}
* attribute's value can be found in the {@link #TextAppearance} array.
*
- * <p>May be a floating point value, such as "<code>1.2</code>".
+ * <p>Must be one or more (separated by '|') of the following constant values.</p>
+ * <table>
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <colgroup align="left" />
+ * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
+ * <tr><td>normal</td><td>0</td><td></td></tr>
+ * <tr><td>bold</td><td>1</td><td></td></tr>
+ * <tr><td>italic</td><td>2</td><td></td></tr>
+ * </table>
*
- * @attr name android:shadowRadius
+ * @attr name android:textStyle
*/
- public static final int TextAppearance_android_shadowRadius=7;
+ public static final int TextAppearance_android_textStyle=2;
/**
* <p>This symbol is the offset where the {@link android.R.attr#textColor}
* attribute's value can be found in the {@link #TextAppearance} array.
@@ -7739,55 +7806,43 @@ public final class R {
*/
public static final int TextAppearance_android_textColor=3;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#textSize}
+ * <p>This symbol is the offset where the {@link android.R.attr#shadowColor}
* attribute's value can be found in the {@link #TextAppearance} array.
*
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
+ * <p>May be a color value, in the form of "<code>#<i>rgb</i></code>",
+ * "<code>#<i>argb</i></code>", "<code>#<i>rrggbb</i></code>", or
+ * "<code>#<i>aarrggbb</i></code>".
*
- * @attr name android:textSize
+ * @attr name android:shadowColor
*/
- public static final int TextAppearance_android_textSize=0;
+ public static final int TextAppearance_android_shadowColor=4;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#textStyle}
+ * <p>This symbol is the offset where the {@link android.R.attr#shadowDx}
* attribute's value can be found in the {@link #TextAppearance} array.
*
- * <p>Must be one or more (separated by '|') of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>normal</td><td>0</td><td></td></tr>
- * <tr><td>bold</td><td>1</td><td></td></tr>
- * <tr><td>italic</td><td>2</td><td></td></tr>
- * </table>
+ * <p>May be a floating point value, such as "<code>1.2</code>".
*
- * @attr name android:textStyle
+ * @attr name android:shadowDx
*/
- public static final int TextAppearance_android_textStyle=2;
+ public static final int TextAppearance_android_shadowDx=5;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#typeface}
+ * <p>This symbol is the offset where the {@link android.R.attr#shadowDy}
* attribute's value can be found in the {@link #TextAppearance} array.
*
- * <p>Must be one of the following constant values.</p>
- * <table>
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <colgroup align="left" />
- * <tr><th>Constant</th><th>Value</th><th>Description</th></tr>
- * <tr><td>monospace</td><td>3</td><td></td></tr>
- * <tr><td>normal</td><td>0</td><td></td></tr>
- * <tr><td>sans</td><td>1</td><td></td></tr>
- * <tr><td>serif</td><td>2</td><td></td></tr>
- * </table>
+ * <p>May be a floating point value, such as "<code>1.2</code>".
*
- * @attr name android:typeface
+ * @attr name android:shadowDy
*/
- public static final int TextAppearance_android_typeface=1;
+ public static final int TextAppearance_android_shadowDy=6;
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#shadowRadius}
+ * attribute's value can be found in the {@link #TextAppearance} array.
+ *
+ * <p>May be a floating point value, such as "<code>1.2</code>".
+ *
+ * @attr name android:shadowRadius
+ */
+ public static final int TextAppearance_android_shadowRadius=7;
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#textAllCaps}
* attribute's value can be found in the {@link #TextAppearance} array.
@@ -7839,9 +7894,9 @@ public final class R {
*/
public static final int[] TitlePageIndicator={
0x7f03003f, 0x7f030067, 0x7f030068, 0x7f030069,
- 0x7f03006a, 0x7f03006b, 0x7f03006c, 0x7f0300ab,
- 0x7f0300ac, 0x7f0300cd, 0x7f0300d0, 0x7f0300da,
- 0x7f0300e1
+ 0x7f03006a, 0x7f03006b, 0x7f03006c, 0x7f0300ac,
+ 0x7f0300ad, 0x7f0300ce, 0x7f0300d1, 0x7f0300db,
+ 0x7f0300e2
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#clipPadding}
@@ -8070,11 +8125,11 @@ public final class R {
public static final int[] Toolbar={
0x010100af, 0x01010140, 0x7f030042, 0x7f030043,
0x7f03004e, 0x7f03004f, 0x7f030050, 0x7f030051,
- 0x7f030087, 0x7f030088, 0x7f030089, 0x7f03008c,
- 0x7f03008d, 0x7f030098, 0x7f0300bd, 0x7f0300be,
- 0x7f0300bf, 0x7f0300d4, 0x7f0300d5, 0x7f0300d6,
- 0x7f0300d7, 0x7f0300d8, 0x7f0300d9, 0x7f0300dc,
- 0x7f0300dd
+ 0x7f030088, 0x7f030089, 0x7f03008a, 0x7f03008d,
+ 0x7f03008e, 0x7f030099, 0x7f0300be, 0x7f0300bf,
+ 0x7f0300c0, 0x7f0300d5, 0x7f0300d6, 0x7f0300d7,
+ 0x7f0300d8, 0x7f0300d9, 0x7f0300da, 0x7f0300dd,
+ 0x7f0300de
};
/**
* <p>This symbol is the offset where the {@link android.R.attr#gravity}
@@ -8412,10 +8467,70 @@ public final class R {
* @see #View_theme
*/
public static final int[] View={
- 0x01010000, 0x010100da, 0x7f030092, 0x7f030093,
- 0x7f0300d1
+ 0x01010000, 0x010100da, 0x7f030093, 0x7f030094,
+ 0x7f0300d2
};
/**
+ * <p>This symbol is the offset where the {@link android.R.attr#theme}
+ * attribute's value can be found in the {@link #View} array.
+ *
+ * <p>May be a reference to another resource, in the form
+ * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
+ * attribute in the form
+ * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ *
+ * @attr name android:theme
+ */
+ public static final int View_android_theme=0;
+ /**
+ * <p>This symbol is the offset where the {@link android.R.attr#focusable}
+ * attribute's value can be found in the {@link #View} array.
+ *
+ * <p>May be a boolean value, such as "<code>true</code>" or
+ * "<code>false</code>".
+ *
+ * @attr name android:focusable
+ */
+ public static final int View_android_focusable=1;
+ /**
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#paddingEnd}
+ * attribute's value can be found in the {@link #View} array.
+ *
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
+ *
+ * @attr name de.bjusystems.vdrmanager:paddingEnd
+ */
+ public static final int View_paddingEnd=2;
+ /**
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#paddingStart}
+ * attribute's value can be found in the {@link #View} array.
+ *
+ * <p>May be a dimension value, which is a floating point number appended with a
+ * unit such as "<code>14.5sp</code>".
+ * Available units are: px (pixels), dp (density-independent pixels),
+ * sp (scaled pixels based on preferred font size), in (inches), and
+ * mm (millimeters).
+ *
+ * @attr name de.bjusystems.vdrmanager:paddingStart
+ */
+ public static final int View_paddingStart=3;
+ /**
+ * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#theme}
+ * attribute's value can be found in the {@link #View} array.
+ *
+ * <p>May be a reference to another resource, in the form
+ * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
+ * attribute in the form
+ * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
+ *
+ * @attr name de.bjusystems.vdrmanager:theme
+ */
+ public static final int View_theme=4;
+ /**
* Attributes that can be used with a ViewBackgroundHelper.
* <p>Includes the following attributes:</p>
* <table>
@@ -8493,7 +8608,7 @@ public final class R {
* @see #ViewPagerIndicator_titlePageIndicatorStyle
*/
public static final int[] ViewPagerIndicator={
- 0x7f03003e, 0x7f0300db
+ 0x7f03003e, 0x7f0300dc
};
/**
* <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#circlePageIndicatorStyle}
@@ -8550,18 +8665,6 @@ public final class R {
*/
public static final int ViewStubCompat_android_id=0;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#inflatedId}
- * attribute's value can be found in the {@link #ViewStubCompat} array.
- *
- * <p>May be a reference to another resource, in the form
- * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
- * attribute in the form
- * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
- *
- * @attr name android:inflatedId
- */
- public static final int ViewStubCompat_android_inflatedId=2;
- /**
* <p>This symbol is the offset where the {@link android.R.attr#layout}
* attribute's value can be found in the {@link #ViewStubCompat} array.
*
@@ -8574,65 +8677,17 @@ public final class R {
*/
public static final int ViewStubCompat_android_layout=1;
/**
- * <p>This symbol is the offset where the {@link android.R.attr#focusable}
- * attribute's value can be found in the {@link #View} array.
- *
- * <p>May be a boolean value, such as "<code>true</code>" or
- * "<code>false</code>".
- *
- * @attr name android:focusable
- */
- public static final int View_android_focusable=1;
- /**
- * <p>This symbol is the offset where the {@link android.R.attr#theme}
- * attribute's value can be found in the {@link #View} array.
- *
- * <p>May be a reference to another resource, in the form
- * "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
- * attribute in the form
- * "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
- *
- * @attr name android:theme
- */
- public static final int View_android_theme=0;
- /**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#paddingEnd}
- * attribute's value can be found in the {@link #View} array.
- *
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
- *
- * @attr name de.bjusystems.vdrmanager:paddingEnd
- */
- public static final int View_paddingEnd=2;
- /**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#paddingStart}
- * attribute's value can be found in the {@link #View} array.
- *
- * <p>May be a dimension value, which is a floating point number appended with a
- * unit such as "<code>14.5sp</code>".
- * Available units are: px (pixels), dp (density-independent pixels),
- * sp (scaled pixels based on preferred font size), in (inches), and
- * mm (millimeters).
- *
- * @attr name de.bjusystems.vdrmanager:paddingStart
- */
- public static final int View_paddingStart=3;
- /**
- * <p>This symbol is the offset where the {@link de.bjusystems.vdrmanager.R.attr#theme}
- * attribute's value can be found in the {@link #View} array.
+ * <p>This symbol is the offset where the {@link android.R.attr#inflatedId}
+ * attribute's value can be found in the {@link #ViewStubCompat} array.
*
* <p>May be a reference to another resource, in the form
* "<code>@[+][<i>package</i>:]<i>type</i>/<i>name</i></code>" or a theme
* attribute in the form
* "<code>?[<i>package</i>:]<i>type</i>/<i>name</i></code>".
*
- * @attr name de.bjusystems.vdrmanager:theme
+ * @attr name android:inflatedId
*/
- public static final int View_theme=4;
+ public static final int ViewStubCompat_android_inflatedId=2;
}
public static final class xml {
public static final int backup_settings=0x7f100000;
diff --git a/vdrmanager/de.bjusystems.vdrmanager/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml b/vdrmanager/de.bjusystems.vdrmanager/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml
index 7578565..eb1dab9 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/build/intermediates/manifest/androidTest/debug/AndroidManifest.xml
@@ -2,7 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.bjusystems.vdrmanager.test">
- <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="23" />
+ <uses-sdk android:minSdkVersion="15" android:targetSdkVersion="23" />
<application android:debuggable="true" >
<uses-library android:name="android.test.runner" />
diff --git a/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release.apk b/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release.apk
index 68f48f9..3183e5a 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release.apk
+++ b/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release.apk
Binary files differ
diff --git a/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release_12760.apk b/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release_12760.apk
new file mode 100644
index 0000000..f1c2786
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release_12760.apk
Binary files differ
diff --git a/vdrmanager/de.bjusystems.vdrmanager/release/output.json b/vdrmanager/de.bjusystems.vdrmanager/release/output.json
index 98f40ef..1048b4b 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/release/output.json
+++ b/vdrmanager/de.bjusystems.vdrmanager/release/output.json
@@ -1 +1 @@
-[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":12710},"path":"de.bjusystems.vdrmanager-release.apk","properties":{"packageId":"de.bjusystems.vdrmanager","split":"","minSdkVersion":"8"}}] \ No newline at end of file
+[{"outputType":{"type":"APK"},"apkData":{"type":"MAIN","splits":[],"versionCode":12800,"versionName":"12.80","enabled":true,"outputFile":"de.bjusystems.vdrmanager-release.apk","fullName":"release","baseName":"release"},"path":"de.bjusystems.vdrmanager-release.apk","properties":{}}] \ No newline at end of file
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/AndroidManifest.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/AndroidManifest.xml
index ad02637..e02fcdb 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/AndroidManifest.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/AndroidManifest.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="de.bjusystems.vdrmanager"
- android:versionCode="12710"
- android:versionName="12.71">
+ android:versionCode="12800"
+ android:versionName="12.80">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
@@ -10,9 +10,6 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- <uses-sdk
- android:minSdkVersion="8"
- android:targetSdkVersion="23" />
<application
android:name=".app.VdrManagerApp"
@@ -156,7 +153,7 @@
<activity
android:name=".remote.RemoteActivity"
android:theme="@style/AppTheme"
- android:configChanges="orientation|locale|screenSize">
+ android:configChanges="locale|screenSize">
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/assets/fonts/fontawesome-webfont.ttf b/vdrmanager/de.bjusystems.vdrmanager/src/main/assets/fonts/fontawesome-webfont.ttf
index ed9372f..35acda2 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/assets/fonts/fontawesome-webfont.ttf
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/assets/fonts/fontawesome-webfont.ttf
Binary files differ
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeButton.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeButton.java
index 22c4de1..f35971c 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeButton.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeButton.java
@@ -2,12 +2,11 @@ package de.androvdr.widget;
import android.content.Context;
import android.util.AttributeSet;
-import android.widget.Button;
/**
* Created by lado on 04.05.15.
*/
-public class FontAwesomeButton extends Button {
+public class FontAwesomeButton extends android.support.v7.widget.AppCompatButton {
public FontAwesomeButton(Context context, AttributeSet attrs, int defStyle) {
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeTextView.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeTextView.java
new file mode 100644
index 0000000..a6b5b42
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/androvdr/widget/FontAwesomeTextView.java
@@ -0,0 +1,36 @@
+package de.androvdr.widget;
+
+import android.content.Context;
+import android.graphics.Typeface;
+import android.support.annotation.Nullable;
+import android.util.AttributeSet;
+import android.widget.TextView;
+
+/**
+ * Created by lado on 17.11.17.
+ */
+
+public class FontAwesomeTextView extends TextView {
+ public FontAwesomeTextView(Context context) {
+ super(context);
+ initFontAwesome();
+ }
+
+ public FontAwesomeTextView(Context context, @Nullable AttributeSet attrs) {
+ super(context, attrs);
+ initFontAwesome();
+ }
+
+ public FontAwesomeTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
+ super(context, attrs, defStyleAttr);
+ initFontAwesome();
+ }
+
+ private void initFontAwesome() {
+ if (isInEditMode() == false) {
+ setTypeface(FontAwesome.getFontAwesome(getContext().getApplicationContext().getApplicationContext()));
+ }
+ }
+
+
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/ButtonMapping.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/ButtonMapping.java
new file mode 100644
index 0000000..cacef1a
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/ButtonMapping.java
@@ -0,0 +1,49 @@
+package de.bjusystems.vdrmanager;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+/**
+ * Created by lado on 05.11.17.
+ */
+public class ButtonMapping {
+
+ public static final String KEY = "key";
+ public static final String LABEL = "label";
+ public static final String COLOR = "color";
+
+ public static final String PREFIX_SEPARATOR = "_";
+
+ public static final String KEY_PREFIX = KEY + PREFIX_SEPARATOR;
+ public static final String LABEL_PREFIX = LABEL + PREFIX_SEPARATOR;
+ public static final String COLOR_PREFIX = COLOR + PREFIX_SEPARATOR;
+
+ public static final Integer NO_COLOR = -1;
+
+ /**
+ * The Key.
+ */
+ public String key;
+ /**
+ * The Label.
+ */
+ public String label;
+ /**
+ * The Color.
+ */
+ public Integer color;
+
+ public ButtonMapping() {
+
+ }
+
+ public ButtonMapping(String key, String label, Integer color) {
+ this.key = key;
+ this.label = label;
+ this.color = color;
+ }
+
+ public JSONObject toJson() throws JSONException {
+ return new JSONObject().put("key", key).put("label", label).put("color", color);
+ }
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/BaseActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/BaseActivity.java
index 26fe8e4..a3f752a 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/BaseActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/BaseActivity.java
@@ -8,7 +8,7 @@ import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBarActivity;
+import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
@@ -27,6 +27,7 @@ import de.bjusystems.vdrmanager.app.VdrManagerApp;
import de.bjusystems.vdrmanager.data.Channel;
import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.remote.RemoteActivity;
+import de.bjusystems.vdrmanager.utils.VdrManagerExceptionHandler;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpAsyncTask;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpClient;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpEvent;
@@ -36,619 +37,621 @@ import de.bjusystems.vdrmanager.utils.svdrp.SvdrpFinishedListener;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpListener;
public abstract class BaseActivity<Result, T extends ListView> extends
- ActionBarActivity implements OnClickListener, SvdrpListener,
- SvdrpExceptionListener, SvdrpFinishedListener<Result> {
+ AppCompatActivity implements OnClickListener, SvdrpListener,
+ SvdrpExceptionListener, SvdrpFinishedListener<Result> {
- public static final String TAG = BaseActivity.class.getName();
+ public static final String TAG = BaseActivity.class.getName();
- public static final int MENU_GROUP_REFRESH = 99;
+ public static final int MENU_GROUP_REFRESH = 99;
- public static final int MENU_REFRESH = 99;
-
- protected T listView;
-
- protected ViewFlipper flipper;
-
- private Button retry;
-
- private ProgressDialog progress;
-
- protected Preferences getPrefs(){
- return Preferences.get();
- }
-
- // protected SvdrpProgressDialog progress;
-
- private CharSequence mDrawerTitle;
- private DrawerLayout mDrawerLayout;
- private ListView mDrawerList;
- private ActionBarDrawerToggle mDrawerToggle;
- private String[] mTitles;
-
- abstract protected String getWindowTitle();
-
- abstract protected int getMainLayout();
-
- protected void noInternetConnection() {
- alert(R.string.no_internet_connection);
- }
-
- abstract protected boolean displayingResults();
-
- /**
- * When using the ActionBarDrawerToggle, you must call it during
- * onPostCreate() and onConfigurationChanged()...
- */
-
- @Override
- protected void onPostCreate(Bundle savedInstanceState) {
- super.onPostCreate(savedInstanceState);
- // Sync the toggle state after onRestoreInstanceState has occurred.
- mDrawerToggle.syncState();
- }
-
- protected boolean isForceRefresh() {
- if (forceRefresh == false) {
- return false;
- }
- forceRefresh = false;
- return true;
- }
-
- protected boolean forceRefresh = false;
-
- protected void switchNoConnection() {
- if (flipper == null) {
- say(R.string.no_connection);
- return;
- }
-
- if (displayingResults()) {
- say(R.string.no_connection);
- } else {
- flipper.setDisplayedChild(1);
- }
- }
-
- protected CertificateProblemDialog getCertificateProblemDialog() {
- return new CertificateProblemDialog(this);
- }
-
- @Override
- public void onConfigurationChanged(final Configuration newConfig) {
- Preferences.setLocale(this);
- super.onConfigurationChanged(newConfig);
- mDrawerToggle.onConfigurationChanged(newConfig);
- }
-
- @Override
- protected void onResume() {
- Preferences.init(this);
- super.onResume();
- }
-
- protected void initFlipper() {
- this.flipper = (ViewFlipper) findViewById(R.id.flipper);
- retry = (Button) findViewById(R.id.retry_button);
- retry.setOnClickListener(this);
- }
-
- @Override
- public void onClick(final View v) {
- if (v.getId() == R.id.retry_button) {
- retry();
- }
- }
-
- //
- // protected void updateWindowTitle(int topic, int subtopic) {
- // String title;
- // title = getString(topic);
- // if (subtopic != -1) {
- // title += " > " + getString(subtopic);
- // }
- // setTitle(title);
- // }
- //
- // protected void updateWindowTitle(String topic, String subtopic) {
- // String title = topic;
- // if (subtopic != null) {
- // title += " > " + subtopic;
- // }
- // setTitle(title);
- // }
-
- abstract protected int getListNavigationIndex();
-
- public static final int LIST_NAVIGATION_CHANNELS = 0;
- public static final int LIST_NAVIGATION_EPG_BY_TIME = 1;
- public static final int LIST_NAVIGATION_EPG_BY_CHANNEL = 2;
- public static final int LIST_NAVIGATION_RECORDINGS = 3;
- public static final int LIST_NAVIGATION_TIMERS = 4;
- public static final int LIST_NAVIGATION_REMOTE = 5;
-
- protected boolean hasListNavigation() {
- return true;
- }
-
- protected void initListNavigation() {
-
- if (hasListNavigation() == false) {
- return;
- }
-
- // getSupportActionBar().setDisplayShowTitleEnabled(false);
- //
- // getSupportActionBar().setNavigationMode(
- // getSupportActionBar().NAVIGATION_MODE_LIST);
- //
- // final ArrayAdapter<CharSequence> mSpinnerAdapter = ArrayAdapter
- // .createFromResource(this, R.array.navigation_array,
- // android.R.layout.simple_spinner_dropdown_item);
- //
- // getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter,
- // new OnNavigationListener() {
- //
- // private boolean firstHit = true;
- //
- // @Override
- // public boolean onNavigationItemSelected(
- // final int itemPosition, final long itemId) {
- //
- // if (firstHit == true) {
- // firstHit = false;
- // return false;
- // }
- // switch (itemPosition) {
- //
- // case LIST_NAVIGATION_CHANNELS: {
- // startActivity(ChannelListActivity.class);
- // return true;
- // }
- // case LIST_NAVIGATION_EPG_BY_TIME: {
- // startActivity(TimeEpgListActivity.class);
- // return true;
- // }
- //
- // case LIST_NAVIGATION_EPG_BY_CHANNEL: {
- // startActivity(EventEpgListActivity.class);
- // return true;
- // }
- //
- // case LIST_NAVIGATION_RECORDINGS: {
- // startActivity(RecordingListActivity.class);
- // return true;
- // }
- //
- // case LIST_NAVIGATION_TIMERS: {
- // startActivity(TimerListActivity.class);
- // return true;
- // }
- //
- // }
- // return false;
- // }
- // });
- // getSupportActionBar().setSelectedNavigationItem(
- // getListNavigationIndex());
-
- }
-
- @Override
- protected void onCreate(final Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- Preferences.setLocale(this);
- setContentView(getMainLayout());
- progress = new ProgressDialog(this);
- progress.setCancelable(false);
- progress.setCanceledOnTouchOutside(false);
- // progress.setOnCancelListener(new OnCancelListener() {
- // @Override
- // public void onCancel(DialogInterface dialog) {
- //
- // }
- // });
-
- initActionBar();
-
- initListNavigation();
-
- initLeftDrawer(savedInstanceState);
-
- // new OnNavigationListener() {
- // @Override
- // public boolean onNavigationItemSelected(int itemPosition, long
- // itemId) {
- // System.err.println("itemPosition: "+ itemPosition +", itemId:" +
- // itemId);
- // rturn false;
- // }
- // });
-
- // your logic for click listner
- // setListenerForActionBarCustomView(actionBarView);
-
- // private void setListenerForActionBarCustomView(View actionBarView) {
- // ActionBarCustomViewOnClickListener actionBarCustomViewOnClickListener
- // = new ActionBarCustomViewOnClickListener();
- // actionBarView.findViewById(R.id.text_view_title).setOnClickListener(actionBarCustomViewOnClickListener);
- // }
-
- }
-
- protected void initLeftDrawer(final Bundle savedInstanceState) {
-
- mDrawerTitle = getTitle();
-
- mTitles = getResources().getStringArray(R.array.navigation_array);
-
- mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
- mDrawerList = (ListView) findViewById(R.id.left_drawer);
-
- // set a custom shadow that overlays the main content when the drawer
- // opens
- mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
- GravityCompat.START);
- // set up the drawer's list view with items and click listener
- mDrawerList.setAdapter(new ArrayAdapter<String>(this,
- R.layout.drawer_list_item, mTitles));
- mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
-
- // enable ActionBar app icon to behave as action to toggle nav drawer
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
-
- // ActionBarDrawerToggle ties together the the proper interactions
- // between the sliding drawer and the action bar app icon
- mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
- mDrawerLayout, /* DrawerLayout object */
- R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
- R.string.drawer_open, /* "open drawer" description for accessibility */
- R.string.drawer_close /* "close drawer" description for accessibility */
- ) {
- public void onDrawerClosed(View view) {
- // getSupportActionBar().setTitle(mTitle);
- //invalidateOptionsMenu(); // creates call to
- // onPrepareOptionsMenu()
- }
-
- public void onDrawerOpened(View drawerView) {
- // getSupportActionBar().setTitle(mDrawerTitle);
- //invalidateOptionsMenu(); // creates call to
- // onPrepareOptionsMenu()
- }
- };
- mDrawerLayout.setDrawerListener(mDrawerToggle);
+ public static final int MENU_REFRESH = 99;
+
+ protected T listView;
+
+ protected ViewFlipper flipper;
+
+ private Button retry;
+
+ private ProgressDialog progress;
+
+ protected Preferences getPrefs() {
+ return Preferences.get();
+ }
+
+ // protected SvdrpProgressDialog progress;
+
+ private CharSequence mDrawerTitle;
+ private DrawerLayout mDrawerLayout;
+ private ListView mDrawerList;
+ private ActionBarDrawerToggle mDrawerToggle;
+ private String[] mTitles;
+
+ abstract protected String getWindowTitle();
+
+ abstract protected int getMainLayout();
+
+ protected void noInternetConnection() {
+ alert(R.string.no_internet_connection);
+ }
+
+ abstract protected boolean displayingResults();
+
+ /**
+ * When using the ActionBarDrawerToggle, you must call it during
+ * onPostCreate() and onConfigurationChanged()...
+ */
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ // Sync the toggle state after onRestoreInstanceState has occurred.
+ mDrawerToggle.syncState();
+ }
+
+ protected boolean isForceRefresh() {
+ if (forceRefresh == false) {
+ return false;
+ }
+ forceRefresh = false;
+ return true;
+ }
+
+ protected boolean forceRefresh = false;
+
+ protected void switchNoConnection() {
+ if (flipper == null) {
+ say(R.string.no_connection);
+ return;
+ }
+
+ if (displayingResults()) {
+ say(R.string.no_connection);
+ } else {
+ flipper.setDisplayedChild(1);
+ }
+ }
+
+ protected CertificateProblemDialog getCertificateProblemDialog() {
+ return new CertificateProblemDialog(this);
+ }
+
+ @Override
+ public void onConfigurationChanged(final Configuration newConfig) {
+ Preferences.setLocale(this);
+ super.onConfigurationChanged(newConfig);
+ mDrawerToggle.onConfigurationChanged(newConfig);
+ }
+
+ @Override
+ protected void onResume() {
+ Preferences.init(this);
+ super.onResume();
+ }
+
+ protected void initFlipper() {
+ this.flipper = (ViewFlipper) findViewById(R.id.flipper);
+ retry = (Button) findViewById(R.id.retry_button);
+ retry.setOnClickListener(this);
+ }
+
+ @Override
+ public void onClick(final View v) {
+ if (v.getId() == R.id.retry_button) {
+ retry();
+ }
+ }
+
+ //
+ // protected void updateWindowTitle(int topic, int subtopic) {
+ // String title;
+ // title = getString(topic);
+ // if (subtopic != -1) {
+ // title += " > " + getString(subtopic);
+ // }
+ // setTitle(title);
+ // }
+ //
+ // protected void updateWindowTitle(String topic, String subtopic) {
+ // String title = topic;
+ // if (subtopic != null) {
+ // title += " > " + subtopic;
+ // }
+ // setTitle(title);
+ // }
+
+ abstract protected int getListNavigationIndex();
+
+ public static final int LIST_NAVIGATION_CHANNELS = 0;
+ public static final int LIST_NAVIGATION_EPG_BY_TIME = 1;
+ public static final int LIST_NAVIGATION_EPG_BY_CHANNEL = 2;
+ public static final int LIST_NAVIGATION_RECORDINGS = 3;
+ public static final int LIST_NAVIGATION_TIMERS = 4;
+ public static final int LIST_NAVIGATION_REMOTE = 5;
+
+ protected boolean hasListNavigation() {
+ return true;
+ }
+
+ protected void initListNavigation() {
+
+ if (hasListNavigation() == false) {
+ return;
+ }
+
+ // getSupportActionBar().setDisplayShowTitleEnabled(false);
+ //
+ // getSupportActionBar().setNavigationMode(
+ // getSupportActionBar().NAVIGATION_MODE_LIST);
+ //
+ // final ArrayAdapter<CharSequence> mSpinnerAdapter = ArrayAdapter
+ // .createFromResource(this, R.array.navigation_array,
+ // android.R.layout.simple_spinner_dropdown_item);
+ //
+ // getSupportActionBar().setListNavigationCallbacks(mSpinnerAdapter,
+ // new OnNavigationListener() {
+ //
+ // private boolean firstHit = true;
+ //
+ // @Override
+ // public boolean onNavigationItemSelected(
+ // final int itemPosition, final long itemId) {
+ //
+ // if (firstHit == true) {
+ // firstHit = false;
+ // return false;
+ // }
+ // switch (itemPosition) {
+ //
+ // case LIST_NAVIGATION_CHANNELS: {
+ // startActivity(ChannelListActivity.class);
+ // return true;
+ // }
+ // case LIST_NAVIGATION_EPG_BY_TIME: {
+ // startActivity(TimeEpgListActivity.class);
+ // return true;
+ // }
+ //
+ // case LIST_NAVIGATION_EPG_BY_CHANNEL: {
+ // startActivity(EventEpgListActivity.class);
+ // return true;
+ // }
+ //
+ // case LIST_NAVIGATION_RECORDINGS: {
+ // startActivity(RecordingListActivity.class);
+ // return true;
+ // }
+ //
+ // case LIST_NAVIGATION_TIMERS: {
+ // startActivity(TimerListActivity.class);
+ // return true;
+ // }
+ //
+ // }
+ // return false;
+ // }
+ // });
+ // getSupportActionBar().setSelectedNavigationItem(
+ // getListNavigationIndex());
+
+ }
+
+ @Override
+ protected void onCreate(final Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Thread.setDefaultUncaughtExceptionHandler(VdrManagerExceptionHandler.get(this,
+ Thread.getDefaultUncaughtExceptionHandler()));
+ Preferences.setLocale(this);
+ setContentView(getMainLayout());
+ progress = new ProgressDialog(this);
+ progress.setCancelable(false);
+ progress.setCanceledOnTouchOutside(false);
+ // progress.setOnCancelListener(new OnCancelListener() {
+ // @Override
+ // public void onCancel(DialogInterface dialog) {
+ //
+ // }
+ // });
+
+ initActionBar();
+
+ initListNavigation();
+
+ initLeftDrawer(savedInstanceState);
+
+ // new OnNavigationListener() {
+ // @Override
+ // public boolean onNavigationItemSelected(int itemPosition, long
+ // itemId) {
+ // System.err.println("itemPosition: "+ itemPosition +", itemId:" +
+ // itemId);
+ // rturn false;
+ // }
+ // });
+
+ // your logic for click listner
+ // setListenerForActionBarCustomView(actionBarView);
+
+ // private void setListenerForActionBarCustomView(View actionBarView) {
+ // ActionBarCustomViewOnClickListener actionBarCustomViewOnClickListener
+ // = new ActionBarCustomViewOnClickListener();
+ // actionBarView.findViewById(R.id.text_view_title).setOnClickListener(actionBarCustomViewOnClickListener);
+ // }
+
+ }
+
+ protected void initLeftDrawer(final Bundle savedInstanceState) {
+
+ mDrawerTitle = getTitle();
+
+ mTitles = getResources().getStringArray(R.array.navigation_array);
+
+ mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
+ mDrawerList = (ListView) findViewById(R.id.left_drawer);
+
+ // set a custom shadow that overlays the main content when the drawer
+ // opens
+ mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow,
+ GravityCompat.START);
+ // set up the drawer's list view with items and click listener
+ mDrawerList.setAdapter(new ArrayAdapter<String>(this,
+ R.layout.drawer_list_item, mTitles));
+ mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
+
+ // enable ActionBar app icon to behave as action to toggle nav drawer
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+
+ // ActionBarDrawerToggle ties together the the proper interactions
+ // between the sliding drawer and the action bar app icon
+ mDrawerToggle = new ActionBarDrawerToggle(this, /* host Activity */
+ mDrawerLayout, /* DrawerLayout object */
+ R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */
+ R.string.drawer_open, /* "open drawer" description for accessibility */
+ R.string.drawer_close /* "close drawer" description for accessibility */
+ ) {
+ public void onDrawerClosed(View view) {
+ // getSupportActionBar().setTitle(mTitle);
+ //invalidateOptionsMenu(); // creates call to
+ // onPrepareOptionsMenu()
+ }
+
+ public void onDrawerOpened(View drawerView) {
+ // getSupportActionBar().setTitle(mDrawerTitle);
+ //invalidateOptionsMenu(); // creates call to
+ // onPrepareOptionsMenu()
+ }
+ };
+ mDrawerLayout.setDrawerListener(mDrawerToggle);
// if (savedInstanceState == null) {
// selectItem(0);
// }
- }
-
- /* The click listner for ListView in the navigation drawer */
- private class DrawerItemClickListener implements
- ListView.OnItemClickListener {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position,
- long id) {
- selectItem(position);
- }
- }
-
- private void selectItem(int position) {
-
- // update selected item and title, then close the drawer
- mDrawerList.setItemChecked(position, true);
- // setTitle(mPlanetTitles[position]);
-
- switch (position) {
-
- case LIST_NAVIGATION_CHANNELS: {
- startActivity(ChannelListActivity.class);
- break;
- }
- case LIST_NAVIGATION_EPG_BY_TIME: {
- startActivity(TimeEpgListActivity.class);
- break;
- }
-
- case LIST_NAVIGATION_EPG_BY_CHANNEL: {
- startActivity(EventEpgListActivity.class);
- break;
- }
-
- case LIST_NAVIGATION_RECORDINGS: {
- startActivity(RecordingListActivity.class);
- break;
- }
-
- case LIST_NAVIGATION_TIMERS: {
- startActivity(TimerListActivity.class);
- break;
- }
- case LIST_NAVIGATION_REMOTE: {
- startActivity(RemoteActivity.class);
- break;
- }
- }
-
- mDrawerLayout.closeDrawer(mDrawerList);
- }
-
- protected void initActionBar() {
- getSupportActionBar().setHomeButtonEnabled(true);
- }
-
- public void startActivity(final Class<?> clazz) {
- final Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setClass(this, clazz);
- startActivity(intent);
- finish();
- }
-
- protected int getBaseMenu() {
- return R.menu.refresh_filter_menu;
- }
-
- @Override
- public boolean onCreateOptionsMenu(final Menu menu) {
-
- // MenuItem item;
- // item = menu.add(MENU_GROUP_REFRESH, MENU_REFRESH, 0,
- // R.string.refresh);
- // item.setIcon(R.drawable.ic_menu_refresh);
- // item.setAlphabeticShortcut('r');
- final MenuInflater inf = getMenuInflater();
- inf.inflate(getBaseMenu(), menu);
-
- // SearchView searchView = (SearchView)
- // menu.findItem(R.id.menu_search).getActionView();
- // searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
-
- return true;
- }
-
- abstract protected void refresh();
-
- abstract protected void retry();
-
- // abstract protected SvdrpClient<Result> getClient();
-
- @Override
- public boolean onOptionsItemSelected(final MenuItem item) {
-
- if (mDrawerToggle != null && mDrawerToggle.onOptionsItemSelected(item)) {
- return true;
- }
-
- switch (item.getItemId()) {
- case R.id.list_refresh:
- backupViewSelection();
- refresh();
- return true;
- case R.id.list_filter: {
- onSearchRequested();
- return true;
- }
- case android.R.id.home:
- final Intent intent = new Intent(this, VdrManagerActivity.class);
- intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
- startActivity(intent);
- return true;
- default:
- return false;
- }
- }
-
- protected void setCurrent(final Channel channel) {
- getApp().setCurrentChannel(channel);
- }
-
- protected VdrManagerApp getApp() {
- final VdrManagerApp app = (VdrManagerApp) getApplication();
- return app;
- }
-
- // protected Channel getCurrentChannel(){
- // final Channel channel = ((VdrManagerApp) getApplication())
- // .getCurrentChannel();
- // return channel;
- // }
-
- protected void say(final int res) {
- say(this.getString(res));
- }
-
- protected void say(final String msg) {
- Utils.say(this, msg);
- }
-
- protected boolean noConnection(final SvdrpEvent event) {
- switch (event) {
- case CONNECTION_TIMEOUT:
- say(R.string.progress_connect_timeout);
- switchNoConnection();
- case CONNECT_ERROR:
- say(R.string.progress_connect_error);
- switchNoConnection();
- break;
- case FINISHED_ABNORMALY:
- alert(R.string.progress_connect_finished_abnormal);
- switchNoConnection();
- break;
- case LOGIN_ERROR:
- say(R.string.progress_login_error);
- switchNoConnection();
- break;
- default:
- return false;
- }
- return true;
- }
-
- protected void alert(final String msg) {
- if (isFinishing()) {
- return;
- }
- new AlertDialog.Builder(this)//
- .setMessage(msg)//
- .setPositiveButton(android.R.string.ok, null)//
- .create()//
- .show();//
- }
-
- protected void alert(final int resId) {
- alert(getString(resId));
- }
-
- protected void restoreViewSelection() {
- listView.setSelectionFromTop(index, top);
- }
-
- protected void backupViewSelection() {
- index = listView.getFirstVisiblePosition();
- final View v = listView.getChildAt(0);
- top = (v == null) ? 0 : v.getTop();
- }
-
- int index;
- int top;
-
- protected boolean checkInternetConnection() {
- if (Utils.checkInternetConnection(this)) {
- return true;
- }
- noInternetConnection();
- return false;
- }
-
- // public void svdrpEvent(Result result) {
- // resultReceived(result);
- // }
-
- @Override
- public void svdrpEvent(final SvdrpEvent event, final Throwable t) {
- progress.dismiss();
- Utils.say(this, t.getMessage());
- }
-
- protected void addListener(
- final SvdrpAsyncTask<Result, SvdrpClient<Result>> task) {
- task.addSvdrpExceptionListener(this);
- task.addSvdrpListener(this);
- task.addSvdrpFinishedListener(this);
- }
-
- @Override
- public void svdrpEvent(final SvdrpEvent event) {
-
- switch (event) {
- case LOGIN:
- break;
- case COMMAND_SENDING:
- break;
- case CONNECTING:
- progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
- setMessage(R.string.progress_connect);
- if (!isFinishing()) {
- progress.show();
- }
- break;
- case LOGGED_IN:
- setMessage(R.string.progress_login);
- break;
- case COMMAND_SENT:
- setMessage(getProgressTextId());
- break;
- case DISCONNECTING:
- setMessage(R.string.progress_disconnect);
- break;
- case DISCONNECTED:
- break;
- case ABORTED:
- progress.dismiss();
- say(R.string.aborted);
- break;
- case ERROR:
- progress.dismiss();
- alert(R.string.epg_client_errors);
- break;
- case CONNECTED:
- connected();
- break;
- case CONNECTION_TIMEOUT:
- case CONNECT_ERROR:
- case FINISHED_ABNORMALY:
- case LOGIN_ERROR:
- progress.dismiss();
- noConnection(event);
- break;
- case CACHE_HIT:
- progress.dismiss();
- cacheHit();
- return;
- case FINISHED_SUCCESS:
- progress.dismiss();
- break;
- }
- // case RESULT_RECEIVED:
- // resultReceived(result);
- // break;
- // }
- }
-
- protected int getProgressTextId() {
- return R.string.progress_loading;
- }
-
- private void setMessage(final int progressConnect) {
- progress.setMessage(getString(progressConnect));
- }
-
- protected boolean finishedSuccess = false;
-
- protected void cacheHit() {
-
- }
-
- /**
- * @return false, if no results found
- */
- protected abstract boolean finishedSuccess(List<Result> results);
-
- // /**
- // * @param result
- // */
- // protected abstract void resultReceived(Result result);
-
- protected void connected() {
- if (flipper != null) {
- flipper.setDisplayedChild(0);
- }
- }
-
- public void svdrpException(final SvdrpException exception) {
- // svdrpException(exception);
- // Log.w(TAG, exception);
- alert(getString(R.string.vdr_error_text, exception.getMessage()));
- }
-
- @Override
- protected void onDestroy() {
- if (progress.isShowing()) {
- progress.dismiss();
- }
- super.onDestroy();
- }
-
- @Override
- public void finished(final List<Result> results) {
- if (finishedSuccess(results)) {
- finishedSuccess = true;
- restoreViewSelection();
- } else {
- say(R.string.epg_no_items);
- }
- }
+ }
+
+ /* The click listner for ListView in the navigation drawer */
+ private class DrawerItemClickListener implements
+ ListView.OnItemClickListener {
+ @Override
+ public void onItemClick(AdapterView<?> parent, View view, int position,
+ long id) {
+ selectItem(position);
+ }
+ }
+
+ private void selectItem(int position) {
+
+ // update selected item and title, then close the drawer
+ mDrawerList.setItemChecked(position, true);
+ // setTitle(mPlanetTitles[position]);
+
+ switch (position) {
+
+ case LIST_NAVIGATION_CHANNELS: {
+ startActivity(ChannelListActivity.class);
+ break;
+ }
+ case LIST_NAVIGATION_EPG_BY_TIME: {
+ startActivity(TimeEpgListActivity.class);
+ break;
+ }
+
+ case LIST_NAVIGATION_EPG_BY_CHANNEL: {
+ startActivity(EventEpgListActivity.class);
+ break;
+ }
+
+ case LIST_NAVIGATION_RECORDINGS: {
+ startActivity(RecordingListActivity.class);
+ break;
+ }
+
+ case LIST_NAVIGATION_TIMERS: {
+ startActivity(TimerListActivity.class);
+ break;
+ }
+ case LIST_NAVIGATION_REMOTE: {
+ startActivity(RemoteActivity.class);
+ break;
+ }
+ }
+
+ mDrawerLayout.closeDrawer(mDrawerList);
+ }
+
+ protected void initActionBar() {
+ getSupportActionBar().setHomeButtonEnabled(true);
+ }
+
+ public void startActivity(final Class<?> clazz) {
+ final Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setClass(this, clazz);
+ startActivity(intent);
+ finish();
+ }
+
+ protected int getBaseMenu() {
+ return R.menu.refresh_filter_menu;
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(final Menu menu) {
+
+ // MenuItem item;
+ // item = menu.add(MENU_GROUP_REFRESH, MENU_REFRESH, 0,
+ // R.string.refresh);
+ // item.setIcon(R.drawable.ic_menu_refresh);
+ // item.setAlphabeticShortcut('r');
+ final MenuInflater inf = getMenuInflater();
+ inf.inflate(getBaseMenu(), menu);
+
+ // SearchView searchView = (SearchView)
+ // menu.findItem(R.id.menu_search).getActionView();
+ // searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
+
+ return true;
+ }
+
+ abstract protected void refresh();
+
+ abstract protected void retry();
+
+ // abstract protected SvdrpClient<Result> getClient();
+
+ @Override
+ public boolean onOptionsItemSelected(final MenuItem item) {
+
+ if (mDrawerToggle != null && mDrawerToggle.onOptionsItemSelected(item)) {
+ return true;
+ }
+
+ switch (item.getItemId()) {
+ case R.id.list_refresh:
+ backupViewSelection();
+ refresh();
+ return true;
+ case R.id.list_filter: {
+ onSearchRequested();
+ return true;
+ }
+ case android.R.id.home:
+ final Intent intent = new Intent(this, VdrManagerActivity.class);
+ intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ startActivity(intent);
+ return true;
+ default:
+ return false;
+ }
+ }
+
+ protected void setCurrent(final Channel channel) {
+ getApp().setCurrentChannel(channel);
+ }
+
+ protected VdrManagerApp getApp() {
+ final VdrManagerApp app = (VdrManagerApp) getApplication();
+ return app;
+ }
+
+ // protected Channel getCurrentChannel(){
+ // final Channel channel = ((VdrManagerApp) getApplication())
+ // .getCurrentChannel();
+ // return channel;
+ // }
+
+ protected void say(final int res) {
+ say(this.getString(res));
+ }
+
+ protected void say(final String msg) {
+ Utils.say(this, msg);
+ }
+
+ protected boolean noConnection(final SvdrpEvent event) {
+ switch (event) {
+ case CONNECTION_TIMEOUT:
+ say(R.string.progress_connect_timeout);
+ switchNoConnection();
+ case CONNECT_ERROR:
+ say(R.string.progress_connect_error);
+ switchNoConnection();
+ break;
+ case FINISHED_ABNORMALY:
+ alert(R.string.progress_connect_finished_abnormal);
+ switchNoConnection();
+ break;
+ case LOGIN_ERROR:
+ say(R.string.progress_login_error);
+ switchNoConnection();
+ break;
+ default:
+ return false;
+ }
+ return true;
+ }
+
+ protected void alert(final String msg) {
+ if (isFinishing()) {
+ return;
+ }
+ new AlertDialog.Builder(this)//
+ .setMessage(msg)//
+ .setPositiveButton(android.R.string.ok, null)//
+ .create()//
+ .show();//
+ }
+
+ protected void alert(final int resId) {
+ alert(getString(resId));
+ }
+
+ protected void restoreViewSelection() {
+ listView.setSelectionFromTop(index, top);
+ }
+
+ protected void backupViewSelection() {
+ index = listView.getFirstVisiblePosition();
+ final View v = listView.getChildAt(0);
+ top = (v == null) ? 0 : v.getTop();
+ }
+
+ int index;
+ int top;
+
+ protected boolean checkInternetConnection() {
+ if (Utils.checkInternetConnection(this)) {
+ return true;
+ }
+ noInternetConnection();
+ return false;
+ }
+
+ // public void svdrpEvent(Result result) {
+ // resultReceived(result);
+ // }
+
+ @Override
+ public void svdrpEvent(final SvdrpEvent event, final Throwable t) {
+ progress.dismiss();
+ Utils.say(this, t.getMessage());
+ }
+
+ protected void addListener(
+ final SvdrpAsyncTask<Result, SvdrpClient<Result>> task) {
+ task.addSvdrpExceptionListener(this);
+ task.addSvdrpListener(this);
+ task.addSvdrpFinishedListener(this);
+ }
+
+ @Override
+ public void svdrpEvent(final SvdrpEvent event) {
+
+ switch (event) {
+ case LOGIN:
+ break;
+ case COMMAND_SENDING:
+ break;
+ case CONNECTING:
+ progress.setProgressStyle(ProgressDialog.STYLE_SPINNER);
+ setMessage(R.string.progress_connect);
+ if (!isFinishing()) {
+ progress.show();
+ }
+ break;
+ case LOGGED_IN:
+ setMessage(R.string.progress_login);
+ break;
+ case COMMAND_SENT:
+ setMessage(getProgressTextId());
+ break;
+ case DISCONNECTING:
+ setMessage(R.string.progress_disconnect);
+ break;
+ case DISCONNECTED:
+ break;
+ case ABORTED:
+ progress.dismiss();
+ say(R.string.aborted);
+ break;
+ case ERROR:
+ progress.dismiss();
+ alert(R.string.epg_client_errors);
+ break;
+ case CONNECTED:
+ connected();
+ break;
+ case CONNECTION_TIMEOUT:
+ case CONNECT_ERROR:
+ case FINISHED_ABNORMALY:
+ case LOGIN_ERROR:
+ progress.dismiss();
+ noConnection(event);
+ break;
+ case CACHE_HIT:
+ progress.dismiss();
+ cacheHit();
+ return;
+ case FINISHED_SUCCESS:
+ progress.dismiss();
+ break;
+ }
+ // case RESULT_RECEIVED:
+ // resultReceived(result);
+ // break;
+ // }
+ }
+
+ protected int getProgressTextId() {
+ return R.string.progress_loading;
+ }
+
+ private void setMessage(final int progressConnect) {
+ progress.setMessage(getString(progressConnect));
+ }
+
+ protected boolean finishedSuccess = false;
+
+ protected void cacheHit() {
+
+ }
+
+ /**
+ * @return false, if no results found
+ */
+ protected abstract boolean finishedSuccess(List<Result> results);
+
+ // /**
+ // * @param result
+ // */
+ // protected abstract void resultReceived(Result result);
+
+ protected void connected() {
+ if (flipper != null) {
+ flipper.setDisplayedChild(0);
+ }
+ }
+
+ public void svdrpException(final SvdrpException exception) {
+ // svdrpException(exception);
+ // Log.w(TAG, exception);
+ alert(getString(R.string.vdr_error_text, exception.getMessage()));
+ }
+
+ @Override
+ protected void onDestroy() {
+ if (progress.isShowing()) {
+ progress.dismiss();
+ }
+ super.onDestroy();
+ }
+
+ @Override
+ public void finished(final List<Result> results) {
+ if (finishedSuccess(results)) {
+ finishedSuccess = true;
+ restoreViewSelection();
+ } else {
+ say(R.string.epg_no_items);
+ }
+ }
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ChannelListActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ChannelListActivity.java
index d5b0b3f..5b78c05 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ChannelListActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ChannelListActivity.java
@@ -29,6 +29,7 @@ import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.data.RecenteChannel;
import de.bjusystems.vdrmanager.data.db.DBAccess;
import de.bjusystems.vdrmanager.tasks.VoidAsyncTask;
+import de.bjusystems.vdrmanager.utils.VdrManagerExceptionHandler;
import de.bjusystems.vdrmanager.utils.svdrp.ChannelClient;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpAsyncTask;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpClient;
@@ -50,26 +51,53 @@ public class ChannelListActivity extends
private static final String TAG = ChannelListActivity.class.getName();
+ /**
+ * The Adapter.
+ */
ChannelAdapter adapter;
+ /**
+ * The Prefs.
+ */
Preferences prefs;
// private static final LinkedList<Channel> RECENT = new
// LinkedList<Channel>();
+ /**
+ * The constant MENU_GROUP.
+ */
public static final int MENU_GROUP = 0;
+ /**
+ * The constant MENU_PROVIDER.
+ */
public static final int MENU_PROVIDER = 1;
+ /**
+ * The constant MENU_SOURCE.
+ */
public static final int MENU_SOURCE = 2;
+ /**
+ * The constant MENU_NAME.
+ */
public static final int MENU_NAME = 3;
+ /**
+ * The constant GROUP_NATURAL.
+ */
public static final boolean GROUP_NATURAL = false;
+ /**
+ * The constant GROUP_REVERSE.
+ */
public static final boolean GROUP_REVERSE = true;
private int groupBy;
private boolean groupByReverse;
+ /**
+ * The constant ALL_CHANNELS_GROUP.
+ */
final static ArrayList<String> ALL_CHANNELS_GROUP = new ArrayList<String>(1);
@Override
@@ -82,6 +110,8 @@ public class ChannelListActivity extends
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ Thread.setDefaultUncaughtExceptionHandler(VdrManagerExceptionHandler.get(this,
+ Thread.getDefaultUncaughtExceptionHandler()));
// Attach view
@@ -147,12 +177,26 @@ public class ChannelListActivity extends
task.run();
}
+ /**
+ * The Recent adapter.
+ */
static RecentChannelsAdapter RECENT_ADAPTER = null;
+ /**
+ * The type Recent channels adapter.
+ */
static class RecentChannelsAdapter extends ArrayAdapter<Channel> {
private final Activity context;
+ /**
+ * The Res id.
+ */
int resId;
+ /**
+ * Instantiates a new Recent channels adapter.
+ *
+ * @param context the context
+ */
public RecentChannelsAdapter(final Activity context) {
super(context, android.R.layout.simple_list_item_1);
this.context = context;
@@ -165,6 +209,9 @@ public class ChannelListActivity extends
}
}
+ /**
+ * The Show channel numbers.
+ */
public boolean showChannelNumbers;
@Override
@@ -285,6 +332,9 @@ public class ChannelListActivity extends
return R.array.channels_group_by;
}
+ /**
+ * The Group by dialog.
+ */
AlertDialog groupByDialog = null;
@Override
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ColoredButton.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ColoredButton.java
index f10860c..8f09496 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ColoredButton.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/ColoredButton.java
@@ -1,7 +1,6 @@
package de.bjusystems.vdrmanager.gui;
import android.content.Context;
-import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.graphics.CornerPathEffect;
@@ -15,14 +14,13 @@ import android.graphics.drawable.StateListDrawable;
import android.graphics.drawable.shapes.RectShape;
import android.os.Build;
import android.util.AttributeSet;
-import android.widget.Button;
import de.bjusystems.vdrmanager.R;
/**
* Created by lado on 03.05.15.
*/
-public class ColoredButton extends Button {
+public class ColoredButton extends android.support.v7.widget.AppCompatButton {
private final float defaultRadius = 0.0f;
@@ -89,4 +87,4 @@ private int defaultPrimaryColor;
}
//typedArray.recycle();
}
-} \ No newline at end of file
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/PreferencesActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/PreferencesActivity.java
index 4dce431..5688bc7 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/PreferencesActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/PreferencesActivity.java
@@ -12,7 +12,11 @@ import android.preference.PreferenceManager;
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.backup.BackupSettingsActivity;
import de.bjusystems.vdrmanager.data.Preferences;
+import de.bjusystems.vdrmanager.utils.VdrManagerExceptionHandler;
+/**
+ * The type Preferences activity.
+ */
public class PreferencesActivity extends BasePreferencesActivity implements
OnSharedPreferenceChangeListener, OnPreferenceChangeListener,
OnPreferenceClickListener {
@@ -29,6 +33,8 @@ public class PreferencesActivity extends BasePreferencesActivity implements
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ Thread.setDefaultUncaughtExceptionHandler(VdrManagerExceptionHandler.get(this,
+ Thread.getDefaultUncaughtExceptionHandler()));
this.getPreferenceManager().setSharedPreferencesName(
Preferences.getPreferenceFile(this));
@@ -49,7 +55,13 @@ public class PreferencesActivity extends BasePreferencesActivity implements
updateChildPreferences();
}
- // /** Return a properly configured SharedPreferences instance */
+ /**
+ * Gets shared preferences.
+ *
+ * @param context the context
+ * @return the shared preferences
+ */
+// /** Return a properly configured SharedPreferences instance */
public static SharedPreferences getSharedPreferences(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context);
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java
index 1b30890..1ea3046 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/TimerDetailsActivity.java
@@ -34,17 +34,30 @@ import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.data.Timer;
import de.bjusystems.vdrmanager.tasks.CreateTimerTask;
import de.bjusystems.vdrmanager.tasks.ModifyTimerTask;
+import de.bjusystems.vdrmanager.utils.VdrManagerExceptionHandler;
import de.bjusystems.vdrmanager.utils.date.DateFormatter;
import de.bjusystems.vdrmanager.utils.svdrp.SetTimerClient.TimerOperation;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpEvent;
+/**
+ * The type Timer details activity.
+ */
public class TimerDetailsActivity extends Activity implements OnClickListener,
OnDateSetListener, OnTimeSetListener {
+ /**
+ * The constant REQUEST_CODE_TIMER_MODIFIED.
+ */
public static final int REQUEST_CODE_TIMER_MODIFIED = 34;
+ /**
+ * The constant REQUEST_CODE_TIMER_EDIT.
+ */
public static final int REQUEST_CODE_TIMER_EDIT = 35;
+ /**
+ * The constant REQUEST_CODE_TIMER_ADD.
+ */
public static final int REQUEST_CODE_TIMER_ADD = 36;
private CharSequence prevStart;
@@ -56,6 +69,8 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+ Thread.setDefaultUncaughtExceptionHandler(VdrManagerExceptionHandler.get(this,
+ Thread.getDefaultUncaughtExceptionHandler()));
View view = getLayoutInflater().inflate(R.layout.timer_detail, null);
tView = new EditTimerViewHolder();
tView.view = view;
@@ -170,29 +185,80 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
tView.dateField.setEnabled(true);
}
+ /**
+ * The type Edit timer view holder.
+ */
public class EditTimerViewHolder {
+ /**
+ * The View.
+ */
View view;
+ /**
+ * The Title.
+ */
TextView title;
+ /**
+ * The Channel.
+ */
TextView channel;
+ /**
+ * The Date field.
+ */
Button dateField;
+ /**
+ * The Start field.
+ */
Button startField;
+ /**
+ * The End field.
+ */
Button endField;
+ /**
+ * The Save button.
+ */
Button saveButton;
+ /**
+ * The Modify button.
+ */
Button modifyButton;
+ /**
+ * The Vps.
+ */
CheckBox vps;
+ /**
+ * The Repeat.
+ */
Button repeat;
+ /**
+ * The Priority.
+ */
EditText priority;
+ /**
+ * The Lifecycle.
+ */
EditText lifecycle;
}
+ /**
+ * The T view.
+ */
EditTimerViewHolder tView = null;
+ /**
+ * The Edit start.
+ */
boolean editStart;
// SetTimerClient setTimerClient;
+ /**
+ * The Timer.
+ */
Timer timer;
+ /**
+ * The Original.
+ */
Timer original;
private void updateDates(Date start, Date stop) {
@@ -261,15 +327,26 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
}
+ /**
+ * Gets app.
+ *
+ * @return the app
+ */
protected VdrManagerApp getApp() {
final VdrManagerApp app = (VdrManagerApp) getApplication();
return app;
}
+ /**
+ * Add.
+ */
public void add() {
updateDisplay(TimerOperation.CREATE);
}
+ /**
+ * Modify.
+ */
public void modify() {
updateDisplay(TimerOperation.MODIFY);
}
@@ -384,6 +461,11 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
}
}
+ /**
+ * Gets selected items.
+ *
+ * @return the selected items
+ */
DaysOfWeek getSelectedItems() {
String str = timer.getWeekdays();
@@ -410,6 +492,11 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
return Integer.valueOf(text.getText().toString());
}
+ /**
+ * Say.
+ *
+ * @param res the res
+ */
protected void say(int res) {
Toast.makeText(this, res, Toast.LENGTH_SHORT).show();
}
@@ -475,6 +562,9 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
task.start();
}
+ /**
+ * Done.
+ */
public void done() {
setResult(RESULT_OK);
finish();
@@ -490,6 +580,9 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
task.start();
}
+ /**
+ * The type Days of week.
+ */
/*
* Days of week code as a single int. 0x00: no day 0x01: Monday 0x02:
* Tuesday 0x04: Wednesday 0x08: Thursday 0x10: Friday 0x20: Saturday 0x40:
@@ -504,10 +597,22 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
// Bitmask of all repeating days
private int mDays;
+ /**
+ * Instantiates a new Days of week.
+ *
+ * @param days the days
+ */
DaysOfWeek(int days) {
mDays = days;
}
+ /**
+ * To string string.
+ *
+ * @param context the context
+ * @param showNever the show never
+ * @return the string
+ */
public String toString(Context context, boolean showNever) {
StringBuilder ret = new StringBuilder();
@@ -551,6 +656,12 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
return ((mDays & (1 << day)) > 0);
}
+ /**
+ * Set.
+ *
+ * @param day the day
+ * @param set the set
+ */
public void set(int day, boolean set) {
if (set) {
mDays |= (1 << day);
@@ -559,15 +670,30 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
}
}
+ /**
+ * Set.
+ *
+ * @param dow the dow
+ */
public void set(DaysOfWeek dow) {
mDays = dow.mDays;
}
+ /**
+ * Gets coded.
+ *
+ * @return the coded
+ */
public int getCoded() {
return mDays;
}
- // Returns days of week encoded in an array of booleans.
+ /**
+ * Get boolean array boolean [ ].
+ *
+ * @return the boolean [ ]
+ */
+// Returns days of week encoded in an array of booleans.
public boolean[] getBooleanArray() {
boolean[] ret = new boolean[7];
for (int i = 0; i < 7; i++) {
@@ -576,6 +702,11 @@ public class TimerDetailsActivity extends Activity implements OnClickListener,
return ret;
}
+ /**
+ * Is repeat set boolean.
+ *
+ * @return the boolean
+ */
public boolean isRepeatSet() {
return mDays != 0;
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/Utils.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/Utils.java
index a880fcf..6c57ecc 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/Utils.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/Utils.java
@@ -45,16 +45,38 @@ import de.bjusystems.vdrmanager.utils.svdrp.SvdrpException;
import de.bjusystems.vdrmanager.utils.svdrp.SvdrpListener;
import de.bjusystems.vdrmanager.utils.svdrp.SwitchChannelClient;
+/**
+ * The type Utils.
+ */
public class Utils {
+ /**
+ * The constant TAG.
+ */
public static final String TAG = Utils.class.getName();
+ /**
+ * The constant EMPTY_LIST.
+ */
public static final List EMPTY_LIST = new ArrayList(0);
+ /**
+ * The constant EMPTY.
+ */
public static final String[] EMPTY = new String[]{};
+ /**
+ * The constant HIGHLIGHT_TEXT.
+ */
public static final ForegroundColorSpan HIGHLIGHT_TEXT = new ForegroundColorSpan(
Color.RED);
+ /**
+ * Highlight char sequence.
+ *
+ * @param where the where
+ * @param what the what
+ * @return the char sequence
+ */
public static CharSequence highlight(final String where, String what) {
if (TextUtils.isEmpty(what)) {
return where;
@@ -72,6 +94,13 @@ public class Utils {
return ss;
}
+ /**
+ * Highlight 2 pair.
+ *
+ * @param where the where
+ * @param what the what
+ * @return the pair
+ */
public static Pair<Boolean, CharSequence> highlight2(final String where,
String what) {
if (TextUtils.isEmpty(what)) {
@@ -90,11 +119,24 @@ public class Utils {
return Pair.create(Boolean.TRUE, (CharSequence) ss);
}
+ /**
+ * Gets progress.
+ *
+ * @param start the start
+ * @param stop the stop
+ * @return the progress
+ */
public static int getProgress(final Date start, final Date stop) {
final long now = System.currentTimeMillis();
return getProgress(now, start.getTime(), stop.getTime());
}
+ /**
+ * Gets progress.
+ *
+ * @param e the e
+ * @return the progress
+ */
public static int getProgress(final Event e) {
if (e instanceof Recording == false) {
return getProgress(e.getStart(), e.getStop());
@@ -109,8 +151,8 @@ public class Utils {
/**
* @param now
- * @param time
- * @param time2
+ * @param start
+ * @param stop
* @return -1, is not not between start stop,
*/
private static int getProgress(final long now, final long start,
@@ -123,6 +165,12 @@ public class Utils {
return -1;
}
+ /**
+ * Is live boolean.
+ *
+ * @param event the event
+ * @return the boolean
+ */
public static boolean isLive(final Event event) {
final long now = System.currentTimeMillis();
return now >= event.getStart().getTime()
@@ -175,14 +223,42 @@ public class Utils {
return sb.toString();
}
+ /**
+ * Stream.
+ *
+ * @param activity the activity
+ * @param event the event
+ */
public static void stream(final Activity activity, final Event event) {
stream(activity, event.getStreamId());
}
+ /**
+ * Stream.
+ *
+ * @param activity the activity
+ * @param channel the channel
+ */
public static void stream(final Activity activity, final Channel channel) {
stream(activity, channel.getId());
}
+ /**
+ * Stream.
+ *
+ * @param activity the activity
+ * @param rec the channel
+ */
+ public static void stream(final Activity activity, final Recording rec) {
+ stream(activity, rec.getDevInode());
+ }
+
+ /**
+ * Stream.
+ *
+ * @param activity the activity
+ * @param idornr the idornr
+ */
public static void stream(final Activity activity, final String idornr) {
if (Preferences.get().isEnableRemux() == false) {
@@ -224,10 +300,16 @@ public class Utils {
}).create().show();
}
+ /**
+ * Start stream.
+ *
+ * @param activity the activity
+ * @param url the url
+ */
public static void startStream(final Activity activity, final String url) {
try {
final Intent intent = new Intent(Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.parse(url.toString()), "video/*");
+ intent.setDataAndType(Uri.parse(url), "video/*");
activity.startActivityForResult(intent, 1);
} catch (final ActivityNotFoundException anfe) {
Log.w(TAG, anfe);
@@ -236,6 +318,12 @@ public class Utils {
}
}
+ /**
+ * Md 5 string.
+ *
+ * @param s the s
+ * @return the string
+ */
public static final String md5(final String s) {
try {
// Create MD5 Hash
@@ -261,12 +349,24 @@ public class Utils {
return "";
}
+ /**
+ * Gets duration.
+ *
+ * @param event the event
+ * @return the duration
+ */
public static int getDuration(final Event event) {
final long millis = event.getDuration();
final int minuts = (int) (millis / 1000 / 60);
return minuts;
}
+ /**
+ * Share event.
+ *
+ * @param activity the activity
+ * @param event the event
+ */
public static void shareEvent(final Activity activity, final Event event) {
final Intent share = new Intent(android.content.Intent.ACTION_SEND);
share.setType("text/plain");
@@ -290,6 +390,12 @@ public class Utils {
activity.getString(R.string.share_chooser)));
}
+ /**
+ * Add calendar event.
+ *
+ * @param activity the activity
+ * @param event the event
+ */
public static void addCalendarEvent(final Activity activity,
final Event event) {
final Intent intent = new Intent(Intent.ACTION_EDIT);
@@ -301,6 +407,12 @@ public class Utils {
activity.startActivity(intent);
}
+ /**
+ * Map special chars string.
+ *
+ * @param src the src
+ * @return the string
+ */
public static String mapSpecialChars(final String src) {
if (src == null) {
return "";
@@ -308,6 +420,12 @@ public class Utils {
return src.replace("|##", C.DATA_SEPARATOR).replace("||#", "\n");
}
+ /**
+ * Un map special chars string.
+ *
+ * @param src the src
+ * @return the string
+ */
public static String unMapSpecialChars(final String src) {
if (src == null) {
return "";
@@ -315,6 +433,12 @@ public class Utils {
return src.replace(C.DATA_SEPARATOR, "|##").replace("\n", "||#");
}
+ /**
+ * Gets package info.
+ *
+ * @param ctx the ctx
+ * @return the package info
+ */
public static PackageInfo getPackageInfo(final Context ctx) {
PackageInfo pi = null;
try {
@@ -326,6 +450,12 @@ public class Utils {
return pi;
}
+ /**
+ * Check internet connection boolean.
+ *
+ * @param ctx the ctx
+ * @return the boolean
+ */
public static boolean checkInternetConnection(final Context ctx) {
final ConnectivityManager cm = (ConnectivityManager) ctx
.getSystemService(Context.CONNECTIVITY_SERVICE);
@@ -337,7 +467,7 @@ public class Utils {
return false;
}
- private static String getRecordingStream(final Activity ctx,
+ private static String getRecordingStream(final Context ctx,
final Recording rec) {
@@ -388,20 +518,71 @@ public class Utils {
return url.toString();
}
- public static void streamRecording(final Activity ctx, final Recording rec) {
+
+ public static void streamRecording(final Activity activity, final Recording rec) {
+
+
+ if (Preferences.get().isEnableRemux() == false) {
+ streamRecordingDirect(activity, rec);
+ return;
+ }
+
+ final String sf = Preferences.get().getStreamFormat();
+ final String ext = activity.getString(R.string.remux_title);
+ new AlertDialog.Builder(activity)
+ .setTitle(R.string.stream_via_as)
+ //
+ .setItems(
+ new String[]{
+ activity.getString(R.string.stream_as, sf),
+ activity.getString(R.string.stream_via, ext)},// TODO
+ // add
+ // here
+ // what
+ // will
+ // be
+ // used
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(final DialogInterface dialog,
+ final int which) {
+ switch (which) {
+ case 0:
+ streamRecordingDirect(activity, rec);
+ break;
+ case 1:
+ startStream(activity, getRemuxStreamUrl(rec.getDevInode()));
+ break;
+ }
+ }
+ }).create().show();
+
+
+ }
+
+
+ private static void streamRecordingDirect(final Activity ctx, final Recording rec) {
final String urlstring = getRecordingStream(ctx, rec);
Log.d(TAG, "try stream: " + urlstring);
Utils.startStream(ctx, urlstring);
}
+ /**
+ * Switch to.
+ *
+ * @param activity the activity
+ * @param channel the channel
+ */
public static void switchTo(final Activity activity, final Channel channel) {
switchTo(activity, channel.getId(), channel.getName());
}
/**
- * @param ctx
- * @param id
- * @param name Optional für die Anzeige
+ * Switch to.
+ *
+ * @param activity the activity
+ * @param id the id
+ * @param name Optional für die Anzeige
*/
public static void switchTo(final Activity activity, final String id,
final String name) {
@@ -436,20 +617,45 @@ public class Utils {
task.run();
}
+ /**
+ * Say.
+ *
+ * @param ctx the ctx
+ * @param msg the msg
+ */
public static void say(final Context ctx, final String msg) {
final Toast t = Toast.makeText(ctx, msg, Toast.LENGTH_SHORT);
t.setGravity(Gravity.CENTER, 0, 0);
t.show();
}
+ /**
+ * Encode url path string.
+ *
+ * @param path the path
+ * @return the string
+ */
public static String encodeUrlPath(String path) {
return path.replaceAll("%", "%25");
}
+ /**
+ * Say.
+ *
+ * @param ctx the ctx
+ * @param msg the msg
+ */
public static void say(final Context ctx, final int msg) {
say(ctx, msg, Toast.LENGTH_SHORT);
}
+ /**
+ * Say.
+ *
+ * @param ctx the ctx
+ * @param msg the msg
+ * @param duration the duration
+ */
public static void say(final Context ctx, final int msg, final int duration) {
final Toast t = Toast.makeText(ctx, msg, duration);
t.setGravity(Gravity.CENTER, 0, 0);
@@ -461,8 +667,8 @@ public class Utils {
*
* @param context the context
* @param time the time in milliseconds
+ * @return the string
*/
-
public static String formatDateTime(final Context context, final long time) {
return android.text.format.DateFormat.getDateFormat(context).format(
time)
@@ -471,6 +677,16 @@ public class Utils {
DateUtils.FORMAT_SHOW_TIME).toString();
}
+ /**
+ * Gets timer state drawable.
+ *
+ * @param match the match
+ * @param full the full
+ * @param begin the begin
+ * @param end the end
+ * @param conflict the conflict
+ * @return the timer state drawable
+ */
public static int getTimerStateDrawable(final TimerMatch match,
final int full, final int begin, final int end, final int conflict) {
@@ -486,6 +702,13 @@ public class Utils {
}
}
+ /**
+ * Format audio string.
+ *
+ * @param context the context
+ * @param tracks the tracks
+ * @return the string
+ */
public static String formatAudio(final Context context,
final List<AudioTrack> tracks) {
@@ -505,6 +728,13 @@ public class Utils {
}
+ /**
+ * Gets timer match.
+ *
+ * @param event the event
+ * @param timer the timer
+ * @return the timer match
+ */
public static TimerMatch getTimerMatch(Event event, Timer timer) {
if (timer == null) {
return null;
@@ -522,6 +752,12 @@ public class Utils {
return timerMatch;
}
+ /**
+ * Content to string int.
+ *
+ * @param c the c
+ * @return the int
+ */
public static int contentToString(int c) {
;
switch (c & 0xF0) {
@@ -743,6 +979,13 @@ public class Utils {
return R.string.Content_Unknown;
}
+ /**
+ * Gets conten string.
+ *
+ * @param ctx the ctx
+ * @param contents the contents
+ * @return the conten string
+ */
public static String getContenString(Context ctx, int[] contents) {
if (contents.length == 0) {
@@ -762,6 +1005,12 @@ public class Utils {
return sb.toString();
}
+ /**
+ * Is serie boolean.
+ *
+ * @param contents the contents
+ * @return the boolean
+ */
public static boolean isSerie(int[] contents) {
if (contents.length == 0) {
return false;
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrListActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrListActivity.java
index af1b532..05a8368 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrListActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrListActivity.java
@@ -19,6 +19,10 @@ import android.widget.AdapterView.OnItemLongClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
+
+import java.util.ArrayList;
+import java.util.List;
+
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.app.Intents;
import de.bjusystems.vdrmanager.backup.BackupSettingsActivity;
@@ -27,276 +31,274 @@ import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.data.Vdr;
import de.bjusystems.vdrmanager.data.db.DBAccess;
-import java.util.ArrayList;
-import java.util.List;
-
public class VdrListActivity extends AppCompatActivity implements
- OnItemClickListener, OnItemLongClickListener, View.OnClickListener {
-
- private static final String TAG = VdrListActivity.class.getName();
-
- List<Vdr> list = new ArrayList<Vdr>();
-
- ArrayAdapter<Vdr> adapter = null;
-
- // 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 populateIntent() {
- emptyConfig = getIntent().getBooleanExtra(Intents.EMPTY_CONFIG,
- Boolean.FALSE);
- }
-
-
- @Override
- public void onClick(View v) {
-
- if(v.getId() == R.id.new_vdr){
- editVdr(null);
- return;
- }
-
- }
-
- static class Holder {
- public TextView text1;
- public TextView text2;
- }
-
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- populateIntent();
-
- setContentView(R.layout.vdr_list_add_delete);
-
-
- findViewById(R.id.new_vdr).setOnClickListener(this);
-
- // 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() != null ? 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);
- // }
- //
- //
- // }
- //
- // };
- ListView listView = (ListView) findViewById(R.id.vdr_list);
- listView.setAdapter(adapter);
- registerForContextMenu(listView);
- listView.setOnItemClickListener(this);
- listView.setOnItemLongClickListener(this);
- listView.setLongClickable(true);
- listView.setEmptyView(findViewById(R.id.empty_view));
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget
- * .AdapterView, android.view.View, int, long)
- */
- public void onItemClick(AdapterView<?> parent, View view, int position,
- long id) {
- editVdr(adapter.getItem(position).getId());
- }
-
- /**
- * Start {@link VdrPreferencesActivity} to create or edit a vdr
- *
- * @param id
- * may be null. Then a new vdr is created
- */
- private void editVdr(Integer id) {
- Intent intent = new Intent(this, VdrPreferencesActivity.class);
- intent.putExtra(Intents.VDR_ID, id);
- startActivityForResult(intent, Intents.EDIT_VDR);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see android.app.Activity#onActivityResult(int, int,
- * android.content.Intent)
- */
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
-
- if (resultCode != RESULT_OK) {
- return;
- }
- if (requestCode == Intents.EDIT_VDR) {
- refresh();
- return;
- }
-
- }
-
- @Override
- protected void onResume() {
- refresh();
- super.onResume();
- }
-
- @Override
- public void onBackPressed() {
- if (list.isEmpty()) {
- finish();
- return;
- }
- 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() {
- list.clear();
- list.addAll(DBAccess.get(this).getVdrDAO().queryForAll());
- adapter.notifyDataSetChanged();
- }
-
- public boolean onItemLongClick(AdapterView<?> parent, View view,
- final int position, final long id) {
-
- new AlertDialog.Builder(this)
- .setMessage(R.string.vdr_device_delete_qeustion)//
- .setPositiveButton(android.R.string.ok,
- new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog,
- int which) {
- if (DBAccess
- .get(VdrListActivity.this)
- .getVdrDAO()
- .deleteById(
- adapter.getItem(position)
- .getId()) > 0) {
- if (Preferences.get().getCurrentVdrContext(
- VdrListActivity.this) == id) {
- Preferences.setCurrentVdr(
- VdrListActivity.this, null);
- }
- refresh();
- }
-
- }
- })//
- .setNegativeButton(android.R.string.cancel, null)//
- .create()//
- .show();
- return true;
- }
-
- @Override
- public final boolean onCreateOptionsMenu(final Menu menu) {
- super.onCreateOptionsMenu(menu);
-
- final MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.vdrlist, menu);
-
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == R.id.main_menu_vdrlist_restore) {
-
- Intent intent = IntentUtils.newIntent(this,
- BackupSettingsActivity.class);
- startActivity(intent);
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
+ OnItemClickListener, OnItemLongClickListener, View.OnClickListener {
+
+ private static final String TAG = VdrListActivity.class.getName();
+
+ List<Vdr> list = new ArrayList<Vdr>();
+
+ ArrayAdapter<Vdr> adapter = null;
+
+ // 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 populateIntent() {
+ emptyConfig = getIntent().getBooleanExtra(Intents.EMPTY_CONFIG,
+ Boolean.FALSE);
+ }
+
+
+ @Override
+ public void onClick(View v) {
+
+ if (v.getId() == R.id.new_vdr) {
+ editVdr(null);
+ return;
+ }
+
+ }
+
+ static class Holder {
+ public TextView text1;
+ public TextView text2;
+ }
+
+ /**
+ * Called when the activity is first created.
+ */
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ populateIntent();
+
+ setContentView(R.layout.vdr_list_add_delete);
+
+
+ findViewById(R.id.new_vdr).setOnClickListener(this);
+
+ // 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() != null ? 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);
+ // }
+ //
+ //
+ // }
+ //
+ // };
+ ListView listView = (ListView) findViewById(R.id.vdr_list);
+ listView.setAdapter(adapter);
+ registerForContextMenu(listView);
+ listView.setOnItemClickListener(this);
+ listView.setOnItemLongClickListener(this);
+ listView.setLongClickable(true);
+ listView.setEmptyView(findViewById(R.id.empty_view));
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * android.widget.AdapterView.OnItemClickListener#onItemClick(android.widget
+ * .AdapterView, android.view.View, int, long)
+ */
+ public void onItemClick(AdapterView<?> parent, View view, int position,
+ long id) {
+ editVdr(adapter.getItem(position).getId());
+ }
+
+ /**
+ * Start {@link VdrPreferencesActivity} to create or edit a vdr
+ *
+ * @param id may be null. Then a new vdr is created
+ */
+ private void editVdr(Integer id) {
+ Intent intent = new Intent(this, VdrPreferencesActivity.class);
+ intent.putExtra(Intents.VDR_ID, id);
+ startActivityForResult(intent, Intents.EDIT_VDR);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see android.app.Activity#onActivityResult(int, int,
+ * android.content.Intent)
+ */
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+
+ if (resultCode != RESULT_OK) {
+ return;
+ }
+ if (requestCode == Intents.EDIT_VDR) {
+ refresh();
+ return;
+ }
+
+ }
+
+ @Override
+ protected void onResume() {
+ refresh();
+ super.onResume();
+ }
+
+ @Override
+ public void onBackPressed() {
+ if (list.isEmpty()) {
+ finish();
+ return;
+ }
+ 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() {
+ list.clear();
+ list.addAll(DBAccess.get(this).getVdrDAO().queryForAll());
+ adapter.notifyDataSetChanged();
+ }
+
+ public boolean onItemLongClick(AdapterView<?> parent, View view,
+ final int position, final long id) {
+
+ new AlertDialog.Builder(this)
+ .setMessage(R.string.vdr_device_delete_qeustion)//
+ .setPositiveButton(android.R.string.ok,
+ new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog,
+ int which) {
+ if (DBAccess
+ .get(VdrListActivity.this)
+ .getVdrDAO()
+ .deleteById(
+ adapter.getItem(position)
+ .getId()) > 0) {
+ if (Preferences.get().getCurrentVdrContext(
+ VdrListActivity.this) == id) {
+ Preferences.setCurrentVdr(
+ VdrListActivity.this, null);
+ }
+ refresh();
+ }
+
+ }
+ })//
+ .setNegativeButton(android.R.string.cancel, null)//
+ .create()//
+ .show();
+ return true;
+ }
+
+ @Override
+ public final boolean onCreateOptionsMenu(final Menu menu) {
+ super.onCreateOptionsMenu(menu);
+
+ final MenuInflater inflater = getMenuInflater();
+ inflater.inflate(R.menu.vdrlist, menu);
+
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (item.getItemId() == R.id.main_menu_vdrlist_restore) {
+
+ Intent intent = IntentUtils.newIntent(this,
+ BackupSettingsActivity.class);
+ startActivity(intent);
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java
index 8f3c68c..6b2ee9f 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrManagerActivity.java
@@ -37,6 +37,7 @@ import de.bjusystems.vdrmanager.data.Vdr;
import de.bjusystems.vdrmanager.data.db.DBAccess;
import de.bjusystems.vdrmanager.data.db.EPGSearchSuggestionsProvider;
import de.bjusystems.vdrmanager.remote.RemoteActivity;
+import de.bjusystems.vdrmanager.utils.VdrManagerExceptionHandler;
import de.bjusystems.vdrmanager.utils.wakeup.AsyncWakeupTask;
public class VdrManagerActivity extends AppCompatActivity implements
@@ -92,7 +93,8 @@ public class VdrManagerActivity extends AppCompatActivity implements
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-
+ Thread.setDefaultUncaughtExceptionHandler(VdrManagerExceptionHandler.get(this,
+ Thread.getDefaultUncaughtExceptionHandler()));
// Preferences.initVDR(this);
// if(Preferences.get().getCurrentVdr() == null){
@@ -108,6 +110,7 @@ public class VdrManagerActivity extends AppCompatActivity implements
intent.putExtra(Intents.EMPTY_CONFIG, Boolean.TRUE);
startActivity(intent);
Toast.makeText(this, R.string.no_vdr, Toast.LENGTH_SHORT).show();
+ checkAndRequestPermission();
finish();
return;
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java
index 143954c..9743d4e 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/VdrPreferencesActivity.java
@@ -1,16 +1,5 @@
package de.bjusystems.vdrmanager.gui;
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.fueri.reeldroid.network.DeviceManager;
-
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
@@ -24,6 +13,18 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceClickListener;
import android.view.View;
+
+import org.fueri.reeldroid.network.DeviceManager;
+
+import java.io.BufferedReader;
+import java.io.FileReader;
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.util.ArrayList;
+import java.util.List;
+
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.VdrSharedPreferencesImpl;
import de.bjusystems.vdrmanager.ZonePicker;
@@ -33,478 +34,490 @@ import de.bjusystems.vdrmanager.data.Preferences;
import de.bjusystems.vdrmanager.data.Vdr;
import de.bjusystems.vdrmanager.data.db.DBAccess;
import de.bjusystems.vdrmanager.tasks.VoidAsyncTask;
+import de.bjusystems.vdrmanager.utils.VdrManagerExceptionHandler;
public class VdrPreferencesActivity extends BasePreferencesActivity implements
- OnSharedPreferenceChangeListener, OnPreferenceClickListener {
-
- public static final int REQUEST_CODE_PICK_A_TIME_ZONE = 1;
-
- Vdr vdr;
-
- VdrSharedPreferencesImpl pref;
-
- int id = -1;
-
- @Override
- public SharedPreferences getSharedPreferences(String name, int mode) {
- return this.pref;
- }
-
- @Override
- public Preference findPreference(CharSequence key) {
- return super.findPreference(key);
- }
-
- @Override
- protected void updateSummary(Preference ep) {
- if (ep.getKey().equals("key_timezone")) {
- String text = vdr.getServerTimeZone();
- if (text == null) {
- return;
- }
- setSummary(text, ep);
- return;
- }
- super.updateSummary(ep);
- }
-
- private boolean isNew = false;
-
- private boolean hasChanged = false;
-
- private void initVDRInstance() {
- id = getIntent().getIntExtra(Intents.VDR_ID, -1);
- if (id == -1) {// new vdr
- vdr = new Vdr();
- isNew = true;
- } else {// edit
- Vdr v = DBAccess.get(this).getVdrDAO().queryForId(id);
- if (v != null) {
- vdr = v;
- } else {
- vdr = new Vdr();
- id = -1;
- isNew = true;
- }
- }
- pref = new VdrSharedPreferencesImpl(vdr, DBAccess.get(this).getVdrDAO());
- }
-
- public static String ARP_CACHE = "/proc/net/arp";
-
- /**
- * return mac address as a string.
- *
- * @param ip
- * @return
- */
- public static String getMacFromArpCache(String ip) {
-
- if (ip == null) {
- return null;
- }
-
- BufferedReader br = null;
-
- try {
- br = new BufferedReader(new FileReader(ARP_CACHE));
-
- String line;
-
- while ((line = br.readLine()) != null) {
- String[] values = line.split("\\s+");
- if (values != null && values.length >= 4
- && ip.equals(values[0])) {
- // format check
- String mac = values[3];
- if (mac.matches("..:..:..:..:..:..")) {
- return mac;
- } else {
- return null;
- }
- }
- }
- } catch (Exception e) {
-
- } finally {
- try {
- br.close();
- } catch (IOException e) {
-
- }
- }
- return null;
- }
-
- // private String getIp() throws Exception {
- // final Preferences prefs = Preferences.get();
- // String host = prefs.getSvdrpHost();
- // return InetAddress.getByName(host).getHostAddress();
- // }
-
- private void ping(String ip, int port) throws Exception {
- Socket socket = new Socket();
- socket.connect(new InetSocketAddress(ip, port), 5 * 1000);
- socket.setSoTimeout(5 * 1000);
- }
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
-
- super.onCreate(savedInstanceState);
-
- initVDRInstance();
-
- this.addPreferencesFromResource(R.xml.vdr_prefs);
-
- // this.getPreferenceManager().setSharedPreferencesName(Preferences.getPreferenceFile(this));
-
- pref.registerOnSharedPreferenceChangeListener(this);
-
- String recstream = pref.getString("key_recstream_method", "vdr-live");
-
- if (recstream.equals("vdr-live") == false) {
- Preference p = findPreference("key_live_port");
- p.setEnabled(false);
- // PreferenceCategory cat = (PreferenceCategory)
- // findPreference("key_streaming_category");
- // cat.removePreference(p);
- }
-
- if (recstream.equals("vdr-smarttvweb") == false) {
- Preference p = findPreference("key_smarttvweb_port");
- p.setEnabled(false);
- p = findPreference("key_smarttvweb_recstream_method");
- p.setEnabled(false);
-
- }
-
- // create background task
-
- // start task
-
- final FetchEditTextPreference macedit = (FetchEditTextPreference) findPreference(getString(R.string.wakeup_wol_mac_key));
- String mac = vdr.getMac();
- if (mac == null) {
- mac = "";
- }
- macedit.setText(mac);
- macedit.setCompoundButtonListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- final String host = vdr.getHost();
- if (host == null) {
- Utils.say(VdrPreferencesActivity.this,
- getString(R.string.vdr_host_not_defined));
- return;
- }
-
- new VoidAsyncTask() {
-
- ProgressDialog pd;
-
- private String mac;
-
- String message;
-
- protected void onPreExecute() {
- pd = new ProgressDialog(VdrPreferencesActivity.this);
- pd.setMessage(getString(R.string.processing));
- pd.show();
- };
-
- protected void onPostExecute(Void result) {
- pd.dismiss();
- if (message != null) {
- Utils.say(VdrPreferencesActivity.this, message);
- return;
- }
- macedit.setEditText(mac);
- };
-
- @Override
- protected Void doInBackground(Void... params) {
- try {
- String ip = InetAddress.getByName(host)
- .getHostAddress();
- ping(ip, vdr.getPort());
- mac = getMacFromArpCache(ip);
- } catch (Exception ex) {
- message = ex.getLocalizedMessage();
- }
-
- return null;
- }
- }.execute();
- }
- });
-
- final FetchEditTextPreference ipEdit = (FetchEditTextPreference) findPreference(getString(R.string.vdr_host_key));
- String ip = vdr.getHost();
- ipEdit.setText(ip);
- ipEdit.setCompoundButtonListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
-
- new AsyncTask<Void, String, List<String>>() {
-
- ProgressDialog pd;
-
- String message;
-
- protected void onPreExecute() {
- pd = new ProgressDialog(VdrPreferencesActivity.this);
- pd.setMessage(getString(R.string.processing));
- pd.show();
- };
-
- protected void onPostExecute(final List<String> ips) {
- pd.dismiss();
- if (message != null) {
- Utils.say(VdrPreferencesActivity.this, message);
- return;
- }
-
- if (ips.isEmpty()) {
- Utils.say(VdrPreferencesActivity.this,
- R.string.no_results);
- return;
- }
- if (ips.size() == 1) {
- ipEdit.setEditText(ips.get(0).toString());
- } else {
- new AlertDialog.Builder(VdrPreferencesActivity.this)
- .setItems(
- ips.toArray(new CharSequence[] {}),
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(
- DialogInterface dialog,
- int which) {
- String ip = ips.get(which);
- ipEdit.setEditText(ip);
- }
- }).show();
- }
-
- }
-
- protected void onProgressUpdate(String... values) {
- pd.setMessage(getString(R.string.probing, values[0]));
- };
-
- @Override
- protected List<String> doInBackground(Void... params) {
- try {
-
- final int port = vdr.getPort();
- return DeviceManager.findVDRHosts(
- VdrPreferencesActivity.this, port,
- new DeviceManager.ProgressListener() {
-
- @Override
- public void publish(String currentIP) {
- publishProgress(currentIP);
- }
- });
-
- } catch (Exception ex) {
- message = ex.getLocalizedMessage();
- }
- return new ArrayList<String>(0);
- }
- }.execute();
-
- }
- });
-
- updateChildPreferences();
-
- findPreference(getString(R.string.timezone_key))
- .setOnPreferenceClickListener(this);
-
- }
-
- public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {
- hasChanged = true;
- updateChildPreferences();
- Preference p = findPreference(key);
- updateSummary(p);
-
- if (key != null && key.equals("key_recstream_method")) {
- String recstream = pref.getString("key_recstream_method",
- "vdr-live");
- Preference pk = findPreference("key_live_port");
- if (recstream.equals("vdr-live") == false) {
-
- pk.setEnabled(false);
- // PreferenceCategory cat = (PreferenceCategory)
- // findPreference("key_streaming_category");
- // cat.removePreference(p);
- } else {
- pk.setEnabled(true);
- }
-
- if (recstream.equals("vdr-smarttvweb") == false) {
- p = findPreference("key_smarttvweb_port");
- p.setEnabled(false);
- p = findPreference("key_smarttvweb_recstream_method");
- p.setEnabled(false);
-
- } else {
- p = findPreference("key_smarttvweb_port");
- p.setEnabled(true);
- p = findPreference("key_smarttvweb_recstream_method");
- p.setEnabled(true);
-
- }
-
- // if(pk)
- // cat.addPreference(pk);
- // } else {
- // cat.removePreference(pk);
- // }
- }
-
- Preferences.reloadVDR(this);
- }
-
- @Override
- protected void onResume() {
- super.onResume();
- pref.registerOnSharedPreferenceChangeListener(this);
- }
-
- @Override
- protected void onPause() {
- super.onPause();
- // Unregister the listener whenever a key changes
- pref.unregisterOnSharedPreferenceChangeListener(this);
- }
-
- private void enableWolPreferences() {
- Preference p = findPreference(getString(R.string.wakeup_wol_mac_key));
- if (p != null)
-
- p.setEnabled(true);
- p = findPreference(getString(R.string.wakeup_wol_custom_broadcast_key));
- if (p != null) {
- p.setEnabled(true);
- }
- }
-
- private void disableWolPreferences() {
- Preference p = findPreference(getString(R.string.wakeup_wol_mac_key));
- if (p != null)
- p.setEnabled(false);
-
- p = findPreference(getString(R.string.wakeup_wol_custom_broadcast_key));
- if (p != null)
- p.setEnabled(false);
-
- }
-
- private void disableWakeupUrlPreferences() {
- Preference p = findPreference(getString(R.string.wakeup_url_key));
- if (p != null) {
- p.setEnabled(false);
- }
- p = findPreference(getString(R.string.wakeup_password_key));
- if (p != null) {
- p.setEnabled(false);
- }
-
- p = findPreference(getString(R.string.wakeup_user_key));
- if (p != null) {
- p.setEnabled(false);
- }
- }
-
- private void enableWakeupUrlPrefenreces() {
- Preference p = findPreference(getString(R.string.wakeup_url_key));
- if (p != null) {
- p.setEnabled(true);
- }
-
- p = findPreference(getString(R.string.wakeup_password_key));
- if (p != null) {
- p.setEnabled(true);
- }
- p = findPreference(getString(R.string.wakeup_user_key));
- if (p != null) {
- p.setEnabled(true);
- }
- }
-
- private void updateChildPreferences() {
- String wakup = pref.getString(getString(R.string.wakeup_method_key),
- "wol");
-
- if (wakup.equals("url")) {
- disableWolPreferences();
- enableWakeupUrlPrefenreces();
- } else {// remote url
- disableWakeupUrlPreferences();
- enableWolPreferences();
- }
-
- for (String key : pref.getAll().keySet()) {
- Preference p = findPreference(key);
- updateSummary(p);
- }
-
- }
-
- @Override
- public void onBackPressed() {
- if (id != -1) {// no new devices
- setResult(RESULT_OK);
- finish();
- return;
- }
- if (isNew == true && hasChanged == false) {
- // if (pref.commits < 2) {// user has not changed anything
- DBAccess.get(this).getVdrDAO().delete(pref.getVdr());
- finish();
- return;
- }
- super.onBackPressed();
- }
-
- @Override
- public boolean onPreferenceClick(Preference preference) {
-
- String timezone = vdr.getServerTimeZone();
-
- Intent intent = new Intent(this, ZonePicker.class);
- intent.putExtra("current_tz", timezone);
- startActivityForResult(intent, REQUEST_CODE_PICK_A_TIME_ZONE);
- return true;
- }
-
-
-
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (resultCode != Activity.RESULT_OK) {
- super.onActivityResult(requestCode, resultCode, data);
- return;
- }
-
- // never mind, onResume also registers this, but the listenres are held
- // in a map (as key) so that no double occurance
- pref.registerOnSharedPreferenceChangeListener(this);
-
- if (requestCode == REQUEST_CODE_PICK_A_TIME_ZONE) {
- String ntz = data.getStringExtra("new_tz");
- if (ntz != null) {
- vdr.setServerTimeZone(ntz);
- Editor editor = findPreference("key_timezone").getEditor();
- editor.putString("key_timezone", ntz);
- editor.commit();
- // setSummary(ntz, );
- }
- }
- }
+ OnSharedPreferenceChangeListener, OnPreferenceClickListener {
+
+ public static final int REQUEST_CODE_PICK_A_TIME_ZONE = 1;
+
+ Vdr vdr;
+
+ VdrSharedPreferencesImpl pref;
+
+ int id = -1;
+
+ @Override
+ public SharedPreferences getSharedPreferences(String name, int mode) {
+ return this.pref;
+ }
+
+ @Override
+ public Preference findPreference(CharSequence key) {
+ return super.findPreference(key);
+ }
+
+ @Override
+ protected void updateSummary(Preference ep) {
+ if (ep.getKey().equals("key_timezone")) {
+ String text = vdr.getServerTimeZone();
+ if (text == null) {
+ return;
+ }
+ setSummary(text, ep);
+ return;
+ }
+ super.updateSummary(ep);
+ }
+
+ private boolean isNew = false;
+
+ private boolean hasChanged = false;
+
+ private void initVDRInstance() {
+ id = getIntent().getIntExtra(Intents.VDR_ID, -1);
+ if (id == -1) {// new vdr
+ vdr = new Vdr();
+ isNew = true;
+ } else {// edit
+ Vdr v = DBAccess.get(this).getVdrDAO().queryForId(id);
+ if (v != null) {
+ vdr = v;
+ } else {
+ vdr = new Vdr();
+ id = -1;
+ isNew = true;
+ }
+ }
+ pref = new VdrSharedPreferencesImpl(vdr, DBAccess.get(this).getVdrDAO());
+ }
+
+ public static String ARP_CACHE = "/proc/net/arp";
+
+ /**
+ * return mac address as a string.
+ *
+ * @param ip
+ * @return
+ */
+ public static String getMacFromArpCache(String ip) {
+
+ if (ip == null) {
+ return null;
+ }
+
+ BufferedReader br = null;
+
+ try {
+ br = new BufferedReader(new FileReader(ARP_CACHE));
+
+ String line;
+
+ while ((line = br.readLine()) != null) {
+ String[] values = line.split("\\s+");
+ if (values != null && values.length >= 4
+ && ip.equals(values[0])) {
+ // format check
+ String mac = values[3];
+ if (mac.matches("..:..:..:..:..:..")) {
+ return mac;
+ } else {
+ return null;
+ }
+ }
+ }
+ } catch (Exception e) {
+
+ } finally {
+ try {
+ br.close();
+ } catch (IOException e) {
+
+ }
+ }
+ return null;
+ }
+
+ // private String getIp() throws Exception {
+ // final Preferences prefs = Preferences.get();
+ // String host = prefs.getSvdrpHost();
+ // return InetAddress.getByName(host).getHostAddress();
+ // }
+
+ private void ping(String ip, int port) throws Exception {
+ Socket socket = new Socket();
+ socket.connect(new InetSocketAddress(ip, port), 5 * 1000);
+ socket.setSoTimeout(5 * 1000);
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+
+ super.onCreate(savedInstanceState);
+ Thread.setDefaultUncaughtExceptionHandler(VdrManagerExceptionHandler.get(this,
+ Thread.getDefaultUncaughtExceptionHandler()));
+ initVDRInstance();
+
+ this.addPreferencesFromResource(R.xml.vdr_prefs);
+
+ // this.getPreferenceManager().setSharedPreferencesName(Preferences.getPreferenceFile(this));
+
+ pref.registerOnSharedPreferenceChangeListener(this);
+
+ String recstream = pref.getString("key_recstream_method", "vdr-live");
+
+ if (recstream.equals("vdr-live") == false) {
+ Preference p = findPreference("key_live_port");
+ p.setEnabled(false);
+ // PreferenceCategory cat = (PreferenceCategory)
+ // findPreference("key_streaming_category");
+ // cat.removePreference(p);
+ }
+
+ if (recstream.equals("vdr-smarttvweb") == false) {
+ Preference p = findPreference("key_smarttvweb_port");
+ p.setEnabled(false);
+ p = findPreference("key_smarttvweb_recstream_method");
+ p.setEnabled(false);
+
+ }
+
+ // create background task
+
+ // start task
+
+ final FetchEditTextPreference macedit = (FetchEditTextPreference) findPreference(getString(R.string.wakeup_wol_mac_key));
+ String mac = vdr.getMac();
+ if (mac == null) {
+ mac = "";
+ }
+ macedit.setText(mac);
+ macedit.setCompoundButtonListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ final String host = vdr.getHost();
+ if (host == null) {
+ Utils.say(VdrPreferencesActivity.this,
+ getString(R.string.vdr_host_not_defined));
+ return;
+ }
+
+ new VoidAsyncTask() {
+
+ ProgressDialog pd;
+
+ private String mac;
+
+ String message;
+
+ protected void onPreExecute() {
+ pd = new ProgressDialog(VdrPreferencesActivity.this);
+ pd.setMessage(getString(R.string.processing));
+ pd.show();
+ }
+
+ ;
+
+ protected void onPostExecute(Void result) {
+ pd.dismiss();
+ if (message != null) {
+ Utils.say(VdrPreferencesActivity.this, message);
+ return;
+ }
+ macedit.setEditText(mac);
+ }
+
+ ;
+
+ @Override
+ protected Void doInBackground(Void... params) {
+ try {
+ String ip = InetAddress.getByName(host)
+ .getHostAddress();
+ ping(ip, vdr.getPort());
+ mac = getMacFromArpCache(ip);
+ } catch (Exception ex) {
+ message = ex.getLocalizedMessage();
+ }
+
+ return null;
+ }
+ }.execute();
+ }
+ });
+
+ final FetchEditTextPreference ipEdit = (FetchEditTextPreference) findPreference(getString(R.string.vdr_host_key));
+ String ip = vdr.getHost();
+ ipEdit.setText(ip);
+ ipEdit.setCompoundButtonListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ new AsyncTask<Void, String, List<String>>() {
+
+ ProgressDialog pd;
+
+ String message;
+
+ protected void onPreExecute() {
+ pd = new ProgressDialog(VdrPreferencesActivity.this);
+ pd.setMessage(getString(R.string.processing));
+ pd.show();
+ }
+
+ ;
+
+ protected void onPostExecute(final List<String> ips) {
+ pd.dismiss();
+ if (message != null) {
+ Utils.say(VdrPreferencesActivity.this, message);
+ return;
+ }
+
+ if (ips.isEmpty()) {
+ Utils.say(VdrPreferencesActivity.this,
+ R.string.no_results);
+ return;
+ }
+ if (ips.size() == 1) {
+ ipEdit.setEditText(ips.get(0).toString());
+ } else {
+ new AlertDialog.Builder(VdrPreferencesActivity.this)
+ .setItems(
+ ips.toArray(new CharSequence[]{}),
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(
+ DialogInterface dialog,
+ int which) {
+ String ip = ips.get(which);
+ ipEdit.setEditText(ip);
+ }
+ }).show();
+ }
+
+ }
+
+ protected void onProgressUpdate(String... values) {
+ pd.setMessage(getString(R.string.probing, values[0]));
+ }
+
+ ;
+
+ @Override
+ protected List<String> doInBackground(Void... params) {
+ try {
+
+ final int port = vdr.getPort();
+ return DeviceManager.findVDRHosts(
+ VdrPreferencesActivity.this, port,
+ new DeviceManager.ProgressListener() {
+
+ @Override
+ public void publish(String currentIP) {
+ publishProgress(currentIP);
+ }
+ });
+
+ } catch (Exception ex) {
+ message = ex.getLocalizedMessage();
+ }
+ return new ArrayList<String>(0);
+ }
+ }.execute();
+
+ }
+ });
+
+ updateChildPreferences();
+
+ findPreference(getString(R.string.timezone_key))
+ .setOnPreferenceClickListener(this);
+
+ }
+
+ public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {
+ hasChanged = true;
+ updateChildPreferences();
+ Preference p = findPreference(key);
+ updateSummary(p);
+
+ if (key != null && key.equals("key_recstream_method")) {
+ String recstream = pref.getString("key_recstream_method",
+ "vdr-live");
+ Preference pk = findPreference("key_live_port");
+ if (recstream.equals("vdr-live") == false) {
+
+ pk.setEnabled(false);
+ // PreferenceCategory cat = (PreferenceCategory)
+ // findPreference("key_streaming_category");
+ // cat.removePreference(p);
+ } else {
+ pk.setEnabled(true);
+ }
+
+ if (recstream.equals("vdr-smarttvweb") == false) {
+ p = findPreference("key_smarttvweb_port");
+ p.setEnabled(false);
+ p = findPreference("key_smarttvweb_recstream_method");
+ p.setEnabled(false);
+
+ } else {
+ p = findPreference("key_smarttvweb_port");
+ p.setEnabled(true);
+ p = findPreference("key_smarttvweb_recstream_method");
+ p.setEnabled(true);
+
+ }
+
+ // if(pk)
+ // cat.addPreference(pk);
+ // } else {
+ // cat.removePreference(pk);
+ // }
+ }
+
+ Preferences.reloadVDR(this);
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ pref.registerOnSharedPreferenceChangeListener(this);
+ }
+
+ @Override
+ protected void onPause() {
+ super.onPause();
+ // Unregister the listener whenever a key changes
+ pref.unregisterOnSharedPreferenceChangeListener(this);
+ }
+
+ private void enableWolPreferences() {
+ Preference p = findPreference(getString(R.string.wakeup_wol_mac_key));
+ if (p != null)
+
+ p.setEnabled(true);
+ p = findPreference(getString(R.string.wakeup_wol_custom_broadcast_key));
+ if (p != null) {
+ p.setEnabled(true);
+ }
+ }
+
+ private void disableWolPreferences() {
+ Preference p = findPreference(getString(R.string.wakeup_wol_mac_key));
+ if (p != null)
+ p.setEnabled(false);
+
+ p = findPreference(getString(R.string.wakeup_wol_custom_broadcast_key));
+ if (p != null)
+ p.setEnabled(false);
+
+ }
+
+ private void disableWakeupUrlPreferences() {
+ Preference p = findPreference(getString(R.string.wakeup_url_key));
+ if (p != null) {
+ p.setEnabled(false);
+ }
+ p = findPreference(getString(R.string.wakeup_password_key));
+ if (p != null) {
+ p.setEnabled(false);
+ }
+
+ p = findPreference(getString(R.string.wakeup_user_key));
+ if (p != null) {
+ p.setEnabled(false);
+ }
+ }
+
+ private void enableWakeupUrlPrefenreces() {
+ Preference p = findPreference(getString(R.string.wakeup_url_key));
+ if (p != null) {
+ p.setEnabled(true);
+ }
+
+ p = findPreference(getString(R.string.wakeup_password_key));
+ if (p != null) {
+ p.setEnabled(true);
+ }
+ p = findPreference(getString(R.string.wakeup_user_key));
+ if (p != null) {
+ p.setEnabled(true);
+ }
+ }
+
+ private void updateChildPreferences() {
+ String wakup = pref.getString(getString(R.string.wakeup_method_key),
+ "wol");
+
+ if (wakup.equals("url")) {
+ disableWolPreferences();
+ enableWakeupUrlPrefenreces();
+ } else {// remote url
+ disableWakeupUrlPreferences();
+ enableWolPreferences();
+ }
+
+ for (String key : pref.getAll().keySet()) {
+ Preference p = findPreference(key);
+ if (p == null) {
+ continue;
+ }
+ updateSummary(p);
+ }
+
+ }
+
+ @Override
+ public void onBackPressed() {
+ if (id != -1) {// no new devices
+ setResult(RESULT_OK);
+ finish();
+ return;
+ }
+ if (isNew == true && hasChanged == false) {
+ // if (pref.commits < 2) {// user has not changed anything
+ DBAccess.get(this).getVdrDAO().delete(pref.getVdr());
+ finish();
+ return;
+ }
+ super.onBackPressed();
+ }
+
+ @Override
+ public boolean onPreferenceClick(Preference preference) {
+
+ String timezone = vdr.getServerTimeZone();
+
+ Intent intent = new Intent(this, ZonePicker.class);
+ intent.putExtra("current_tz", timezone);
+ startActivityForResult(intent, REQUEST_CODE_PICK_A_TIME_ZONE);
+ return true;
+ }
+
+
+ @Override
+ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ if (resultCode != Activity.RESULT_OK) {
+ super.onActivityResult(requestCode, resultCode, data);
+ return;
+ }
+
+ // never mind, onResume also registers this, but the listenres are held
+ // in a map (as key) so that no double occurance
+ pref.registerOnSharedPreferenceChangeListener(this);
+
+ if (requestCode == REQUEST_CODE_PICK_A_TIME_ZONE) {
+ String ntz = data.getStringExtra("new_tz");
+ if (ntz != null) {
+ vdr.setServerTimeZone(ntz);
+ Editor editor = findPreference("key_timezone").getEditor();
+ editor.putString("key_timezone", ntz);
+ editor.commit();
+ // setSummary(ntz, );
+ }
+ }
+ }
}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerDialog.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerDialog.java
new file mode 100644
index 0000000..37fa552
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerDialog.java
@@ -0,0 +1,502 @@
+/*
+ * Copyright (C) 2007 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package de.bjusystems.vdrmanager.gui.colorpicker;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.content.res.Resources;
+import android.graphics.BlurMaskFilter;
+import android.graphics.BlurMaskFilter.Blur;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.ColorFilter;
+import android.graphics.Paint;
+import android.graphics.Paint.Style;
+import android.graphics.PixelFormat;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.graphics.Shader;
+import android.graphics.SweepGradient;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.SystemClock;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.StateSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+import android.view.animation.DecelerateInterpolator;
+import android.view.animation.Transformation;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+import de.bjusystems.vdrmanager.R;
+
+public class ColorPickerDialog extends Dialog {
+ private static int CENTER_X = 100;
+ private static int CENTER_Y = 100;
+ private static int CENTER_RADIUS = 32;
+
+ public interface OnColorChangedListener {
+ void colorChanged(int color);
+ }
+
+ private OnColorChangedListener mListener;
+
+ private int mInitialColor;
+
+ public int lastColor = 0;
+
+ public void setOnColorChangedListener(OnColorChangedListener listener){
+ mListener = listener;
+ };
+
+
+ private class ColorPickerView extends View {
+ private Paint mPaint;
+ private Paint mCenterPaint;
+ private final int[] mColors;
+ private OnColorChangedListener mListener;
+
+ ColorPickerView(Context c, OnColorChangedListener l, int color) {
+ super(c);
+ mListener = l;
+ lastColor = color;
+ mColors = new int[] {
+ 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00,
+ 0xFFFFFF00, 0xFFFFFFFF, 0xFF808080, 0xFF000000, 0xFFFF0000
+ };
+ Shader s = new SweepGradient(0, 0, mColors, null);
+
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mPaint.setShader(s);
+ mPaint.setStyle(Style.STROKE);
+ mPaint.setStrokeWidth(CENTER_RADIUS);
+
+ mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mCenterPaint.setColor(color);
+ mCenterPaint.setStrokeWidth(5);
+ }
+
+ private boolean mTrackingCenter;
+ private boolean mHighlightCenter;
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ float r = CENTER_X - mPaint.getStrokeWidth()*0.8f;
+
+ canvas.translate(CENTER_X, CENTER_X);
+
+ canvas.drawOval(new RectF(-r, -r, r, r), mPaint);
+ canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint);
+
+ if (mTrackingCenter) {
+ int c = mCenterPaint.getColor();
+ mCenterPaint.setStyle(Style.STROKE);
+
+ if (mHighlightCenter) {
+ mCenterPaint.setAlpha(0xFF);
+ } else {
+ mCenterPaint.setAlpha(0x80);
+ }
+ canvas.drawCircle(0, 0,
+ CENTER_RADIUS + mCenterPaint.getStrokeWidth(),
+ mCenterPaint);
+
+ mCenterPaint.setStyle(Style.FILL);
+ mCenterPaint.setColor(c);
+ }
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ setMeasuredDimension(CENTER_X*2, CENTER_Y*2);
+ }
+
+ public void setCenterColor(int color) {
+ mCenterPaint.setColor(color);
+ invalidate();
+ }
+
+ public void setTransparency(int alpha) {
+ int color = mCenterPaint.getColor();
+ int newColor = Color.argb(alpha, Color.red(color), Color.green(color), Color.blue(color));
+ mCenterPaint.setColor(newColor);
+ mEditText.setText(convertToARGB(newColor));
+ invalidate();
+ }
+
+ private int ave(int s, int d, float p) {
+ return s + Math.round(p * (d - s));
+ }
+
+ private int interpColor(int colors[], float unit) {
+ if (unit <= 0) {
+ return colors[0];
+ }
+ if (unit >= 1) {
+ return colors[colors.length - 1];
+ }
+
+ float p = unit * (colors.length - 1);
+ int i = (int)p;
+ p -= i;
+
+ // now p is just the fractional part [0...1) and i is the index
+ int c0 = colors[i];
+ int c1 = colors[i+1];
+ int a = ave(Color.alpha(c0), Color.alpha(c1), p);
+ int r = ave(Color.red(c0), Color.red(c1), p);
+ int g = ave(Color.green(c0), Color.green(c1), p);
+ int b = ave(Color.blue(c0), Color.blue(c1), p);
+
+ return Color.argb(a, r, g, b);
+ }
+
+ private static final float PI = 3.1415926f;
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ float x = event.getX() - CENTER_X;
+ float y = event.getY() - CENTER_Y;
+ boolean inCenter = Math.sqrt(x*x + y*y) <= CENTER_RADIUS;
+
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ mTrackingCenter = inCenter;
+ if (inCenter) {
+ mHighlightCenter = true;
+ invalidate();
+ break;
+ }
+ case MotionEvent.ACTION_MOVE:
+ if (mTrackingCenter) {
+ if (mHighlightCenter != inCenter) {
+ mHighlightCenter = inCenter;
+ invalidate();
+ }
+ } else {
+ float angle = (float) Math.atan2(y, x);
+ // need to turn angle [-PI ... PI] into unit [0....1]
+ float unit = angle/(2*PI);
+ if (unit < 0) {
+ unit += 1;
+ }
+ int color = interpColor(mColors, unit);
+ mCenterPaint.setColor(color);
+ mEditText.setText(convertToARGB(color));
+ invalidate();
+ }
+ break;
+ case MotionEvent.ACTION_UP:
+ if (mTrackingCenter) {
+ if (inCenter) {
+ mListener.colorChanged(mCenterPaint.getColor());
+ lastColor = mCenterPaint.getColor();
+ }
+ mTrackingCenter = false; // so we draw w/o halo
+ invalidate();
+ }
+ break;
+ }
+ return true;
+ }
+ }
+
+ private String convertToARGB(int color) {
+ String alpha = Integer.toHexString(Color.alpha(color));
+ String red = Integer.toHexString(Color.red(color));
+ String green = Integer.toHexString(Color.green(color));
+ String blue = Integer.toHexString(Color.blue(color));
+
+ if (alpha.length() == 1) {
+ alpha = "0" + alpha;
+ }
+
+ if (red.length() == 1) {
+ red = "0" + red;
+ }
+
+ if (green.length() == 1) {
+ green = "0" + green;
+ }
+
+ if (blue.length() == 1) {
+ blue = "0" + blue;
+ }
+
+ return "#" + alpha + red + green + blue;
+ }
+
+ private int convertToColorInt(String argb) throws NumberFormatException {
+
+ int alpha = -1, red = -1, green = -1, blue = -1;
+
+ if (argb.length() == 8) {
+ alpha = Integer.parseInt(argb.substring(0, 2), 16);
+ red = Integer.parseInt(argb.substring(2, 4), 16);
+ green = Integer.parseInt(argb.substring(4, 6), 16);
+ blue = Integer.parseInt(argb.substring(6, 8), 16);
+ }
+ else if (argb.length() == 6) {
+ alpha = 255;
+ red = Integer.parseInt(argb.substring(0, 2), 16);
+ green = Integer.parseInt(argb.substring(2, 4), 16);
+ blue = Integer.parseInt(argb.substring(4, 6), 16);
+ }
+
+ return Color.argb(alpha, red, green, blue);
+ }
+
+ private Context mContext;
+ private EditText mEditText;
+ private ColorPickerView mColorPickerView;
+ private SeekBar mTransparencyBar;
+
+ public ColorPickerDialog(Context context, OnColorChangedListener listener, int initialColor) {
+ super(context);
+ mContext = context;
+ mListener = listener;
+ mInitialColor = initialColor;
+ CENTER_Y=CENTER_X=context.getResources().getDimensionPixelSize(R.dimen.color_picker_center);
+ CENTER_RADIUS=context.getResources().getDimensionPixelSize(R.dimen.color_picker_radius);
+ }
+
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ LinearLayout layout = new LinearLayout(mContext);
+ layout.setOrientation(LinearLayout.VERTICAL);
+ layout.setGravity(android.view.Gravity.CENTER);
+
+ LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
+ LinearLayout.LayoutParams.WRAP_CONTENT);
+ layoutParams.setMargins(10, 0, 10, 5);
+
+ TextView tv = new TextView(mContext);
+ tv.setText(mContext.getString(R.string.pref_dialog_message_color_picker));
+ layout.addView(tv, layoutParams);
+
+ mColorPickerView = new ColorPickerView(getContext(), onColorChangedListener, mInitialColor);
+ layout.addView(mColorPickerView, layoutParams);
+
+ mTransparencyBar = new SeekBar(mContext);
+ mTransparencyBar.setMax(255);
+ mTransparencyBar.setProgressDrawable(new TextSeekBarDrawable(mContext.getResources(), mContext.getString(R.string.pref_dialog_color_picker_alpha), true));
+ mTransparencyBar.setProgress(Color.alpha(mInitialColor));
+ mTransparencyBar.setOnSeekBarChangeListener(onTransparencyChangedListener);
+ layout.addView(mTransparencyBar, layoutParams);
+
+ mEditText = new EditText(mContext);
+ mEditText.addTextChangedListener(mEditTextListener);
+ mEditText.setText(convertToARGB(mInitialColor));
+ layout.addView(mEditText, layoutParams);
+
+ setContentView(layout);
+ setTitle(mContext.getString(R.string.pref_dialog_title_color_picker));
+ }
+
+ private OnColorChangedListener onColorChangedListener = new OnColorChangedListener() {
+ public void colorChanged(int color) {
+ mListener.colorChanged(color);
+ lastColor = color;
+ dismiss();
+ }
+ };
+
+ private SeekBar.OnSeekBarChangeListener onTransparencyChangedListener = new SeekBar.OnSeekBarChangeListener() {
+
+ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+ mColorPickerView.setTransparency(progress);
+ }
+
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
+
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ }
+ };
+
+ private TextWatcher mEditTextListener = new TextWatcher() {
+
+ public void afterTextChanged(Editable s) {
+ }
+
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+ }
+
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ try {
+ String s2 = (s.toString()).replace("#", "");
+ if (s2.length() == 6 || s2.length() == 8) {
+ int color = convertToColorInt(s2);
+ mColorPickerView.setCenterColor(color);
+ mTransparencyBar.setProgress(Color.alpha(color));
+ }
+ }
+ catch (NumberFormatException e) {
+ }
+ }
+ };
+
+ //Source: http://www.anddev.org/announce_color_picker_dialog-t10771.html
+ static final int[] STATE_FOCUSED = {android.R.attr.state_focused};
+ static final int[] STATE_PRESSED = {android.R.attr.state_pressed};
+
+ static class TextSeekBarDrawable extends Drawable implements Runnable {
+
+ private static final long DELAY = 50;
+ private String mText;
+ private Drawable mProgress;
+ private Paint mPaint;
+ private Paint mOutlinePaint;
+ private float mTextWidth;
+ private boolean mActive;
+ private float mTextXScale;
+ private int mDelta;
+ private ScrollAnimation mAnimation;
+
+ public TextSeekBarDrawable(Resources res, String label, boolean labelOnRight) {
+ mText = label;
+ mProgress = res.getDrawable(android.R.drawable.progress_horizontal);
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mPaint.setTypeface(Typeface.DEFAULT_BOLD);
+ mPaint.setTextSize(16);
+ mPaint.setColor(0xff000000);
+ mOutlinePaint = new Paint(mPaint);
+ mOutlinePaint.setStyle(Style.STROKE);
+ mOutlinePaint.setStrokeWidth(3);
+ mOutlinePaint.setColor(0xbbffc300);
+ mOutlinePaint.setMaskFilter(new BlurMaskFilter(1, Blur.NORMAL));
+ mTextWidth = mOutlinePaint.measureText(mText);
+ mTextXScale = labelOnRight? 1 : 0;
+ mAnimation = new ScrollAnimation();
+ }
+
+ @Override
+ protected void onBoundsChange(Rect bounds) {
+ mProgress.setBounds(bounds);
+ }
+
+ @Override
+ protected boolean onStateChange(int[] state) {
+ mActive = StateSet.stateSetMatches(STATE_FOCUSED, state) | StateSet.stateSetMatches(STATE_PRESSED, state);
+ invalidateSelf();
+ return false;
+ }
+
+ @Override
+ public boolean isStateful() {
+ return true;
+ }
+
+ @Override
+ protected boolean onLevelChange(int level) {
+// Log.d(TAG, "onLevelChange " + level);
+ if (level < 4000 && mDelta <= 0) {
+// Log.d(TAG, "onLevelChange scheduleSelf ++");
+ mDelta = 1;
+ mAnimation.startScrolling(mTextXScale, 1);
+ scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
+ } else
+ if (level > 6000 && mDelta >= 0) {
+// Log.d(TAG, "onLevelChange scheduleSelf --");
+ mDelta = -1;
+ mAnimation.startScrolling(mTextXScale, 0);
+ scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
+ }
+ return mProgress.setLevel(level);
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ mProgress.draw(canvas);
+
+ if (mAnimation.hasStarted() && !mAnimation.hasEnded()) {
+ // pending animation
+ mAnimation.getTransformation(AnimationUtils.currentAnimationTimeMillis(), null);
+ mTextXScale = mAnimation.getCurrent();
+// Log.d(TAG, "draw " + mTextX + " " + SystemClock.uptimeMillis());
+ }
+
+ Rect bounds = getBounds();
+ float x = 6 + mTextXScale * (bounds.width() - mTextWidth - 6 - 6);
+ float y = (bounds.height() + mPaint.getTextSize()) / 2;
+ mOutlinePaint.setAlpha(mActive? 255 : 255 / 2);
+ mPaint.setAlpha(mActive? 255 : 255 / 2);
+ canvas.drawText(mText, x, y, mOutlinePaint);
+ canvas.drawText(mText, x, y, mPaint);
+ }
+
+ @Override
+ public int getOpacity() {
+ return PixelFormat.TRANSLUCENT;
+ }
+
+ @Override
+ public void setAlpha(int alpha) {
+ }
+
+ @Override
+ public void setColorFilter(ColorFilter cf) {
+ }
+
+ public void run() {
+ mAnimation.getTransformation(AnimationUtils.currentAnimationTimeMillis(), null);
+ // close interpolation of mTextX
+ mTextXScale = mAnimation.getCurrent();
+ if (!mAnimation.hasEnded()) {
+ scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
+ }
+ invalidateSelf();
+// Log.d(TAG, "run " + mTextX + " " + SystemClock.uptimeMillis());
+ }
+ }
+
+ static class ScrollAnimation extends Animation {
+ private static final long DURATION = 750;
+ private float mFrom;
+ private float mTo;
+ private float mCurrent;
+
+ public ScrollAnimation() {
+ setDuration(DURATION);
+ setInterpolator(new DecelerateInterpolator());
+ }
+
+ public void startScrolling(float from, float to) {
+ mFrom = from;
+ mTo = to;
+ startNow();
+ }
+
+ @Override
+ protected void applyTransformation(float interpolatedTime, Transformation t) {
+ mCurrent = mFrom + (mTo - mFrom) * interpolatedTime;
+// Log.d(TAG, "applyTransformation " + mCurrent);
+ }
+
+ public float getCurrent() {
+ return mCurrent;
+ }
+ }
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerPreference.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerPreference.java
new file mode 100644
index 0000000..441e9c3
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerPreference.java
@@ -0,0 +1,637 @@
+package de.bjusystems.vdrmanager.gui.colorpicker;
+
+/*
+ * Copyright (C) 2007 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.res.Resources;
+import android.graphics.BlurMaskFilter;
+import android.graphics.BlurMaskFilter.Blur;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.ColorFilter;
+import android.graphics.ColorMatrix;
+import android.graphics.Paint;
+import android.graphics.Paint.Style;
+import android.graphics.PixelFormat;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.graphics.Shader;
+import android.graphics.SweepGradient;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.os.SystemClock;
+import android.preference.DialogPreference;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.AttributeSet;
+import android.util.StateSet;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.animation.Animation;
+import android.view.animation.AnimationUtils;
+import android.view.animation.DecelerateInterpolator;
+import android.view.animation.Transformation;
+import android.widget.CheckBox;
+import android.widget.EditText;
+import android.widget.LinearLayout;
+import android.widget.SeekBar;
+import android.widget.TextView;
+
+/**
+ * Color Picker dialog as DialogPreference
+ * @author lado
+ *
+ */
+public class ColorPickerPreference extends DialogPreference {
+
+ public static interface OnColorChangedListener {
+ void colorChanged(int color);
+ }
+
+ //private OnColorChangedListener mListener;
+ private int mInitialColor;
+
+ //private int color;
+
+ private class ColorPickerView extends View {
+ private Paint mPaint;
+ private Paint mCenterPaint;
+ private final int[] mColors;
+ private ColorPickerPreference dialog;
+ //private OnColorChangedListener mListener;
+
+ ColorPickerView(final ColorPickerPreference d,// OnColorChangedListener l,
+ int color) {
+ super(d.getContext());
+ dialog = d;
+ //mListener = l;
+ mColors = new int[] { 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF,
+ 0xFF00FFFF, 0xFF00FF00, 0xFFFFFF00, 0xFFFFFFFF, 0xFF808080,
+ 0xFF000000, 0xFFFF0000 };
+ Shader s = new SweepGradient(0, 0, mColors, null);
+
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mPaint.setShader(s);
+ mPaint.setStyle(Style.STROKE);
+ mPaint.setStrokeWidth(32);
+
+ mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mCenterPaint.setColor(color);
+ mCenterPaint.setStrokeWidth(5);
+ }
+
+ private boolean mTrackingCenter;
+ private boolean mHighlightCenter;
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ float r = CENTER_X - mPaint.getStrokeWidth() * 0.5f;
+
+ canvas.translate(CENTER_X, CENTER_X);
+
+ canvas.drawOval(new RectF(-r, -r, r, r), mPaint);
+ canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint);
+
+ if (mTrackingCenter) {
+ int c = mCenterPaint.getColor();
+ mCenterPaint.setStyle(Style.STROKE);
+
+ if (mHighlightCenter) {
+ mCenterPaint.setAlpha(0xFF);
+ } else {
+ mCenterPaint.setAlpha(0x80);
+ }
+ canvas.drawCircle(0, 0,
+ CENTER_RADIUS + mCenterPaint.getStrokeWidth(),
+ mCenterPaint);
+
+ mCenterPaint.setStyle(Style.FILL);
+ mCenterPaint.setColor(c);
+ }
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ setMeasuredDimension(CENTER_X * 2, CENTER_Y * 2);
+ }
+
+ private static final int CENTER_X = 100;
+ private static final int CENTER_Y = 100;
+ private static final int CENTER_RADIUS = 32;
+
+ private int floatToByte(float x) {
+ int n = Math.round(x);
+ return n;
+ }
+
+ private int pinToByte(int n) {
+ if (n < 0) {
+ n = 0;
+ } else if (n > 255) {
+ n = 255;
+ }
+ return n;
+ }
+
+ public void setCenterColor(int color) {
+ mCenterPaint.setColor(color);
+ invalidate();
+ }
+
+ public void setTransparency(int alpha) {
+ int color = mCenterPaint.getColor();
+ int newColor = Color.argb(alpha, Color.red(color),
+ Color.green(color), Color.blue(color));
+ mCenterPaint.setColor(newColor);
+ mEditText.setText(convertToARGB(newColor));
+ invalidate();
+ }
+
+ private int ave(int s, int d, float p) {
+ return s + Math.round(p * (d - s));
+ }
+
+ private int interpColor(int colors[], float unit) {
+ if (unit <= 0) {
+ return colors[0];
+ }
+ if (unit >= 1) {
+ return colors[colors.length - 1];
+ }
+
+ float p = unit * (colors.length - 1);
+ int i = (int) p;
+ p -= i;
+
+ // now p is just the fractional part [0...1) and i is the index
+ int c0 = colors[i];
+ int c1 = colors[i + 1];
+ int a = ave(Color.alpha(c0), Color.alpha(c1), p);
+ int r = ave(Color.red(c0), Color.red(c1), p);
+ int g = ave(Color.green(c0), Color.green(c1), p);
+ int b = ave(Color.blue(c0), Color.blue(c1), p);
+
+ return Color.argb(a, r, g, b);
+ }
+
+ private int rotateColor(int color, float rad) {
+ float deg = rad * 180 / 3.1415927f;
+ int r = Color.red(color);
+ int g = Color.green(color);
+ int b = Color.blue(color);
+
+ ColorMatrix cm = new ColorMatrix();
+ ColorMatrix tmp = new ColorMatrix();
+
+ cm.setRGB2YUV();
+ tmp.setRotate(0, deg);
+ cm.postConcat(tmp);
+ tmp.setYUV2RGB();
+ cm.postConcat(tmp);
+
+ final float[] a = cm.getArray();
+
+ int ir = floatToByte(a[0] * r + a[1] * g + a[2] * b);
+ int ig = floatToByte(a[5] * r + a[6] * g + a[7] * b);
+ int ib = floatToByte(a[10] * r + a[11] * g + a[12] * b);
+
+ return Color.argb(Color.alpha(color), pinToByte(ir), pinToByte(ig),
+ pinToByte(ib));
+ }
+
+ private static final float PI = 3.1415926f;
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ float x = event.getX() - CENTER_X;
+ float y = event.getY() - CENTER_Y;
+ boolean inCenter = Math.sqrt(x * x + y * y) <= CENTER_RADIUS;
+
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ mTrackingCenter = inCenter;
+ if (inCenter) {
+ mHighlightCenter = true;
+ invalidate();
+ break;
+ }
+ case MotionEvent.ACTION_MOVE:
+ if (mTrackingCenter) {
+ if (mHighlightCenter != inCenter) {
+ mHighlightCenter = inCenter;
+ invalidate();
+ }
+ } else {
+ float angle = (float) Math.atan2(y, x);
+ // need to turn angle [-PI ... PI] into unit [0....1]
+ float unit = angle / (2 * PI);
+ if (unit < 0) {
+ unit += 1;
+ }
+ int color = interpColor(mColors, unit);
+ mCenterPaint.setColor(color);
+ mEditText.setText(convertToARGB(color));
+ invalidate();
+ }
+ break;
+ case MotionEvent.ACTION_UP:
+ if (mTrackingCenter) {
+ if (inCenter) {
+ //color = mCenterPaint.getColor();
+ dialog.onClick(dialog.getDialog(), DialogInterface.BUTTON_POSITIVE);
+ dialog.getDialog().dismiss();
+ }
+ mTrackingCenter = false; // so we draw w/o halo
+ invalidate();
+ }
+ break;
+ }
+ return true;
+ }
+ }
+
+ private String convertToARGB(int color) {
+ String alpha = Integer.toHexString(Color.alpha(color));
+ String red = Integer.toHexString(Color.red(color));
+ String green = Integer.toHexString(Color.green(color));
+ String blue = Integer.toHexString(Color.blue(color));
+
+ if (alpha.length() == 1) {
+ alpha = "0" + alpha;
+ }
+
+ if (red.length() == 1) {
+ red = "0" + red;
+ }
+
+ if (green.length() == 1) {
+ green = "0" + green;
+ }
+
+ if (blue.length() == 1) {
+ blue = "0" + blue;
+ }
+
+ return "#" + alpha + red + green + blue;
+ }
+
+ private int convertToColorInt(String argb) throws NumberFormatException {
+
+ int alpha = -1, red = -1, green = -1, blue = -1;
+
+ if (argb.length() == 8) {
+ alpha = Integer.parseInt(argb.substring(0, 2), 16);
+ red = Integer.parseInt(argb.substring(2, 4), 16);
+ green = Integer.parseInt(argb.substring(4, 6), 16);
+ blue = Integer.parseInt(argb.substring(6, 8), 16);
+ } else if (argb.length() == 6) {
+ alpha = 255;
+ red = Integer.parseInt(argb.substring(0, 2), 16);
+ green = Integer.parseInt(argb.substring(2, 4), 16);
+ blue = Integer.parseInt(argb.substring(4, 6), 16);
+ }
+
+ return Color.argb(alpha, red, green, blue);
+ }
+
+ //private Context mContext;
+ private EditText mEditText;
+ private ColorPickerView mColorPickerView;
+ private SeekBar mTransparencyBar;
+
+ // public ColorPickerDialog(Context context, OnColorChangedListener
+ // listener, int initialColor) {
+ //
+ // mContext = context;
+ // mListener = listener;
+ // mInitialColor = initialColor;
+ // }
+
+// private OnColorChangedListener onColorChangedListener = new OnColorChangedListener() {
+// public void colorChanged(int color) {
+// //mListener.colorChanged(color);
+// // dismiss();
+// }
+// };
+
+ private SeekBar.OnSeekBarChangeListener onTransparencyChangedListener = new SeekBar.OnSeekBarChangeListener() {
+
+ public void onProgressChanged(SeekBar seekBar, int progress,
+ boolean fromUser) {
+ mColorPickerView.setTransparency(progress);
+ }
+
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
+
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ }
+ };
+
+ private TextWatcher mEditTextListener = new TextWatcher() {
+
+ public void afterTextChanged(Editable s) {
+ }
+
+ public void beforeTextChanged(CharSequence s, int start, int count,
+ int after) {
+ }
+
+ public void onTextChanged(CharSequence s, int start, int before,
+ int count) {
+ try {
+ String s2 = (s.toString()).replace("#", "");
+ if (s2.length() == 6 || s2.length() == 8) {
+ int color = convertToColorInt(s2);
+ mColorPickerView.setCenterColor(color);
+ mTransparencyBar.setProgress(Color.alpha(color));
+ }
+ } catch (NumberFormatException e) {
+ }
+ }
+ };
+
+ // Source: http://www.anddev.org/announce_color_picker_dialog-t10771.html
+ static final int[] STATE_FOCUSED = { android.R.attr.state_focused };
+ static final int[] STATE_PRESSED = { android.R.attr.state_pressed };
+
+ static class TextSeekBarDrawable extends Drawable implements Runnable {
+
+ private static final String TAG = "TextSeekBarDrawable";
+ private static final long DELAY = 50;
+ private String mText;
+ private Drawable mProgress;
+ private Paint mPaint;
+ private Paint mOutlinePaint;
+ private float mTextWidth;
+ private boolean mActive;
+ private float mTextXScale;
+ private int mDelta;
+ private ScrollAnimation mAnimation;
+
+ public TextSeekBarDrawable(Resources res, String label,
+ boolean labelOnRight) {
+ mText = label;
+ mProgress = res.getDrawable(android.R.drawable.progress_horizontal);
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mPaint.setTypeface(Typeface.DEFAULT_BOLD);
+ mPaint.setTextSize(16);
+ mPaint.setColor(0xff000000);
+ mOutlinePaint = new Paint(mPaint);
+ mOutlinePaint.setStyle(Style.STROKE);
+ mOutlinePaint.setStrokeWidth(3);
+ mOutlinePaint.setColor(0xbbffc300);
+ mOutlinePaint.setMaskFilter(new BlurMaskFilter(1, Blur.NORMAL));
+ mTextWidth = mOutlinePaint.measureText(mText);
+ mTextXScale = labelOnRight ? 1 : 0;
+ mAnimation = new ScrollAnimation();
+ }
+
+ @Override
+ protected void onBoundsChange(Rect bounds) {
+ mProgress.setBounds(bounds);
+ }
+
+ @Override
+ protected boolean onStateChange(int[] state) {
+ mActive = StateSet.stateSetMatches(STATE_FOCUSED, state)
+ | StateSet.stateSetMatches(STATE_PRESSED, state);
+ invalidateSelf();
+ return false;
+ }
+
+ @Override
+ public boolean isStateful() {
+ return true;
+ }
+
+ @Override
+ protected boolean onLevelChange(int level) {
+ // Log.d(TAG, "onLevelChange " + level);
+ if (level < 4000 && mDelta <= 0) {
+ // Log.d(TAG, "onLevelChange scheduleSelf ++");
+ mDelta = 1;
+ mAnimation.startScrolling(mTextXScale, 1);
+ scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
+ } else if (level > 6000 && mDelta >= 0) {
+ // Log.d(TAG, "onLevelChange scheduleSelf --");
+ mDelta = -1;
+ mAnimation.startScrolling(mTextXScale, 0);
+ scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
+ }
+ return mProgress.setLevel(level);
+ }
+
+ @Override
+ public void draw(Canvas canvas) {
+ mProgress.draw(canvas);
+
+ if (mAnimation.hasStarted() && !mAnimation.hasEnded()) {
+ // pending animation
+ mAnimation.getTransformation(
+ AnimationUtils.currentAnimationTimeMillis(), null);
+ mTextXScale = mAnimation.getCurrent();
+ // Log.d(TAG, "draw " + mTextX + " " +
+ // SystemClock.uptimeMillis());
+ }
+
+ Rect bounds = getBounds();
+ float x = 6 + mTextXScale * (bounds.width() - mTextWidth - 6 - 6);
+ float y = (bounds.height() + mPaint.getTextSize()) / 2;
+ mOutlinePaint.setAlpha(mActive ? 255 : 255 / 2);
+ mPaint.setAlpha(mActive ? 255 : 255 / 2);
+ canvas.drawText(mText, x, y, mOutlinePaint);
+ canvas.drawText(mText, x, y, mPaint);
+ }
+
+ @Override
+ public int getOpacity() {
+ return PixelFormat.TRANSLUCENT;
+ }
+
+ @Override
+ public void setAlpha(int alpha) {
+ }
+
+ @Override
+ public void setColorFilter(ColorFilter cf) {
+ }
+
+ public void run() {
+ mAnimation.getTransformation(
+ AnimationUtils.currentAnimationTimeMillis(), null);
+ // close interpolation of mTextX
+ mTextXScale = mAnimation.getCurrent();
+ if (!mAnimation.hasEnded()) {
+ scheduleSelf(this, SystemClock.uptimeMillis() + DELAY);
+ }
+ invalidateSelf();
+ // Log.d(TAG, "run " + mTextX + " " + SystemClock.uptimeMillis());
+ }
+ }
+
+ static class ScrollAnimation extends Animation {
+ private static final String TAG = "ScrollAnimation";
+ private static final long DURATION = 750;
+ private float mFrom;
+ private float mTo;
+ private float mCurrent;
+
+ public ScrollAnimation() {
+ setDuration(DURATION);
+ setInterpolator(new DecelerateInterpolator());
+ }
+
+ public void startScrolling(float from, float to) {
+ mFrom = from;
+ mTo = to;
+ startNow();
+ }
+
+ @Override
+ protected void applyTransformation(float interpolatedTime,
+ Transformation t) {
+ mCurrent = mFrom + (mTo - mFrom) * interpolatedTime;
+ // Log.d(TAG, "applyTransformation " + mCurrent);
+ }
+
+ public float getCurrent() {
+ return mCurrent;
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected View onCreateDialogView() {
+
+ LinearLayout layout = new LinearLayout(getContext());
+ layout.setOrientation(LinearLayout.VERTICAL);
+ layout.setGravity(android.view.Gravity.CENTER);
+
+ LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
+ LinearLayout.LayoutParams.FILL_PARENT,
+ LinearLayout.LayoutParams.WRAP_CONTENT);
+ layoutParams.setMargins(10, 0, 10, 5);
+
+ TextView tv = new TextView(getContext());
+ tv.setText("Pick a Color");
+ layout.addView(tv, layoutParams);
+
+ mColorPickerView = new ColorPickerView(this,
+// onColorChangedListener,
+ mInitialColor);
+ layout.addView(mColorPickerView, layoutParams);
+
+ mTransparencyBar = new SeekBar(getContext());
+ mTransparencyBar.setMax(255);
+ mTransparencyBar.setProgressDrawable(new TextSeekBarDrawable(getContext()
+ .getResources(), "alpha", true));
+ mTransparencyBar.setProgress(Color.alpha(mInitialColor));
+ mTransparencyBar
+ .setOnSeekBarChangeListener(onTransparencyChangedListener);
+ layout.addView(mTransparencyBar, layoutParams);
+
+ mEditText = new EditText(getContext());
+ mEditText.addTextChangedListener(mEditTextListener);
+ mEditText.setText(convertToARGB(mInitialColor));
+ layout.addView(mEditText, layoutParams);
+
+ CheckBox cb = new CheckBox(getContext());
+
+
+// OnColorChangedListener l = new OnColorChangedListener() {
+// public void colorChanged(int color) {
+// mListener.colorChanged(color);
+// }
+// };
+ return layout;
+ }
+
+
+ @Override
+ protected void onSetInitialValue(boolean restoreValue, Object defaultValue) {
+ mInitialColor = (restoreValue ? getPersistedInt(mInitialColor) : (Integer) defaultValue);
+ persistInt(mInitialColor);
+ }
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setDefaultValue(final Object defaultValue) {
+ super.setDefaultValue(defaultValue);
+ // if (defaultValue instanceof String) {
+ // this.defValue = Utils.parseLong((String) defaultValue,
+ // this.defValue);
+ // } else if (defaultValue instanceof Long) {
+ // this.defValue = (Long) defaultValue;
+ // }
+ }
+
+
+ public ColorPickerPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.setPersistent(true);
+ mInitialColor = this.getPersistedInt(0);
+ }
+
+
+ @Override
+ protected void onDialogClosed(boolean positiveResult) {
+ super.onDialogClosed(positiveResult);
+
+ if (positiveResult) {
+ int c = mColorPickerView.mCenterPaint.getColor();
+ callChangeListener(c);
+ persistInt(c);
+ mInitialColor = c;
+
+ }
+ }
+
+// @Override
+// protected void onSetInitialValue(boolean restorePersistedValue,
+// Object defaultValue) {
+// mInitialColor = (restorePersistedValue ? getPersistedInt(mInitialColor) : (Integer) defaultValue);
+// }
+
+ // public ColorPickerDialog(Context context,
+ // OnColorChangedListener listener,
+ // int initialColor) {
+ // //super(context);
+ //
+ // mListener = listener;
+ // mInitialColor = initialColor;
+ // }
+ //
+ // @Override
+ // protected void onCreate(Bundle savedInstanceState) {
+ // super.onCreate(savedInstanceState);
+ // OnColorChangedListener l = new OnColorChangedListener() {
+ // public void colorChanged(int color) {
+ // mListener.colorChanged(color);
+ // dismiss();
+ // }
+ // };
+ //
+ // setContentView(new ColorPickerView(getContext(), l, mInitialColor));
+ // setTitle("Pick a Color");
+ // }
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerView.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerView.java
new file mode 100644
index 0000000..b645bf0
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/gui/colorpicker/ColorPickerView.java
@@ -0,0 +1,177 @@
+/*
+ * Copyright (C) 2011 Menny Even Danan
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+http://blog.evendanan.net/2011/08/Fingerpainting-app-for-Hagar-OR-Multitouch-sample-code
+*/
+package de.bjusystems.vdrmanager.gui.colorpicker;
+
+import android.content.Context;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.RectF;
+import android.graphics.Shader;
+import android.graphics.SweepGradient;
+import android.util.DisplayMetrics;
+import android.view.MotionEvent;
+import android.view.View;
+
+
+class ColorPickerView extends View {
+ private Paint mPaint;
+ private Paint mCenterPaint;
+ private final int[] mColors;
+ private ColorPickerDialog.OnColorChangedListener mListener;
+
+ ColorPickerView(Context c, ColorPickerDialog.OnColorChangedListener l, int color) {
+ super(c);
+ mListener = l;
+ mColors = new int[]{
+ 0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00,
+ 0xFFFFFF00, 0xFFFFFFFF, 0xFF000000, 0xFFFF0000
+ };
+ Shader s = new SweepGradient(0, 0, mColors, null);
+
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mPaint.setShader(s);
+ mPaint.setStyle(Paint.Style.STROKE);
+ mPaint.setStrokeWidth(32);
+
+ mCenterPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ mCenterPaint.setColor(color);
+ mCenterPaint.setStrokeWidth(5);
+
+
+ DisplayMetrics dm = c.getResources().getDisplayMetrics();
+
+ CENTER_X = Math.min(dm.widthPixels, dm.heightPixels) / 3;
+ CENTER_Y = CENTER_X;
+ }
+
+ private boolean mTrackingCenter;
+ private boolean mHighlightCenter;
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ float r = CENTER_X - mPaint.getStrokeWidth() * 0.5f;
+
+ canvas.translate(CENTER_X, CENTER_X);
+
+ canvas.drawOval(new RectF(-r, -r, r, r), mPaint);
+ canvas.drawCircle(0, 0, CENTER_RADIUS, mCenterPaint);
+
+ if (mTrackingCenter) {
+ int c = mCenterPaint.getColor();
+ mCenterPaint.setStyle(Paint.Style.STROKE);
+
+ if (mHighlightCenter) {
+ mCenterPaint.setAlpha(0xFF);
+ } else {
+ mCenterPaint.setAlpha(0x80);
+ }
+ canvas.drawCircle(0, 0,
+ CENTER_RADIUS + mCenterPaint.getStrokeWidth(),
+ mCenterPaint);
+
+ mCenterPaint.setStyle(Paint.Style.FILL);
+ mCenterPaint.setColor(c);
+ }
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+
+ setMeasuredDimension(CENTER_X * 2, CENTER_Y * 2);
+ }
+
+ private int CENTER_X = 100;
+ private int CENTER_Y = 100;
+ private int CENTER_RADIUS = 32;
+
+ private int ave(int s, int d, float p) {
+ return s + Math.round(p * (d - s));
+ }
+
+ private int interpColor(int colors[], float unit) {
+ if (unit <= 0) {
+ return colors[0];
+ }
+ if (unit >= 1) {
+ return colors[colors.length - 1];
+ }
+
+ float p = unit * (colors.length - 1);
+ int i = (int) p;
+ p -= i;
+
+ // now p is just the fractional part [0...1) and i is the index
+ int c0 = colors[i];
+ int c1 = colors[i + 1];
+ int a = ave(Color.alpha(c0), Color.alpha(c1), p);
+ int r = ave(Color.red(c0), Color.red(c1), p);
+ int g = ave(Color.green(c0), Color.green(c1), p);
+ int b = ave(Color.blue(c0), Color.blue(c1), p);
+
+ return Color.argb(a, r, g, b);
+ }
+
+ private static final float PI = 3.1415926f;
+
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ float x = event.getX() - CENTER_X;
+ float y = event.getY() - CENTER_Y;
+ boolean inCenter = Math.sqrt(x * x + y * y) <= CENTER_RADIUS;
+
+ switch (event.getAction()) {
+ case MotionEvent.ACTION_DOWN:
+ mTrackingCenter = inCenter;
+ if (inCenter) {
+ mHighlightCenter = true;
+ invalidate();
+ break;
+ }
+ case MotionEvent.ACTION_MOVE:
+ if (mTrackingCenter) {
+ if (mHighlightCenter != inCenter) {
+ mHighlightCenter = inCenter;
+ invalidate();
+ }
+ } else {
+ float angle = (float) Math.atan2(y, x);
+ // need to turn angle [-PI ... PI] into unit [0....1]
+ float unit = angle / (2 * PI);
+ if (unit < 0) {
+ unit += 1;
+ }
+ mCenterPaint.setColor(interpColor(mColors, unit));
+ invalidate();
+ }
+ break;
+ case MotionEvent.ACTION_UP:
+ if (mTrackingCenter) {
+ if (inCenter) {
+ mListener.colorChanged(mCenterPaint.getColor());
+ }
+ mTrackingCenter = false; // so we draw w/o halo
+ invalidate();
+ }
+ break;
+ }
+ return true;
+ }
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/FaListDialog.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/FaListDialog.java
new file mode 100644
index 0000000..7ea9844
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/FaListDialog.java
@@ -0,0 +1,200 @@
+package de.bjusystems.vdrmanager.remote;
+
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.AdapterView;
+import android.widget.ArrayAdapter;
+import android.widget.ListView;
+import android.widget.SearchView;
+
+import java.io.Serializable;
+
+import de.bjusystems.vdrmanager.R;
+
+public class FaListDialog extends Dialog implements
+ SearchView.OnQueryTextListener, SearchView.OnCloseListener {
+
+ private static final String ITEMS = "items";
+
+ private ArrayAdapter listAdapter;
+
+ private SearchableItem<String> searchableItem;
+
+ public FaListDialog(Context context) {
+ super(context);
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Getting the layout inflater to inflate the view in an alert dialog.
+ LayoutInflater inflater = LayoutInflater.from(getContext());
+
+ // Crash on orientation change #7
+ // Change Start
+ // Description: As the instance was re initializing to null on rotating the device,
+ // getting the instance from the saved instance
+ // Change End
+
+ View rootView = inflater.inflate(R.layout.searchable_list_dialog, null);
+
+ final ListView viewById = (ListView) rootView.findViewById(R.id.listItems);
+ viewById.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+ String item = String.valueOf(listAdapter.getItem(position));
+ if (searchableItem != null) {
+ searchableItem.onSearchableItemClicked(item, position);
+ }
+ FaListDialog.this.dismiss();
+ }
+ });
+ ((SearchView) rootView.findViewById(R.id.search)).setOnQueryTextListener(new SearchView.OnQueryTextListener() {
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ listAdapter.getFilter().filter(newText);
+ return false;
+ }
+ });
+//
+// //create the adapter by passing your ArrayList data
+ listAdapter = ArrayAdapter.createFromResource(getContext(), R.array.font, R.layout.simple_list_item_1_fa);
+ viewById.setAdapter(listAdapter);
+ setContentView(rootView);
+ }
+
+ @Override
+ public boolean onClose() {
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextSubmit(String query) {
+ return false;
+ }
+
+ @Override
+ public boolean onQueryTextChange(String newText) {
+ return false;
+ }
+
+ public SearchableItem getSearchableItem() {
+ return searchableItem;
+ }
+
+ public void setSearchableItem(SearchableItem searchableItem) {
+ this.searchableItem = searchableItem;
+ }
+
+// // Crash on orientation change #7
+// // Change Start
+// // Description: Saving the instance of searchable item instance.
+// @Override
+// public void onSaveInstanceState(Bundle outState) {
+// outState.putSerializable("item", _searchableItem);
+// super.onSaveInstanceState(outState);
+// }
+// // Change End
+//
+// public void setTitle(String strTitle) {
+// _strTitle = strTitle;
+// }
+//
+// public void setPositiveButton(String strPositiveButtonText) {
+// _strPositiveButtonText = strPositiveButtonText;
+// }
+//
+// public void setPositiveButton(String strPositiveButtonText, DialogInterface.OnClickListener onClickListener) {
+// _strPositiveButtonText = strPositiveButtonText;
+// _onClickListener = onClickListener;
+// }
+//
+// public void setOnSearchableItemClickListener(SearchableItem searchableItem) {
+// this._searchableItem = searchableItem;
+// }
+//
+// public void setOnSearchTextChangedListener(OnSearchTextChanged onSearchTextChanged) {
+// this._onSearchTextChanged = onSearchTextChanged;
+// }
+//
+// private void setData(View rootView) {
+// SearchManager searchManager = (SearchManager) getActivity().getSystemService(Context
+// .SEARCH_SERVICE);
+//
+// _searchView = (SearchView) rootView.findViewById(R.id.search);
+// _searchView.setSearchableInfo(searchManager.getSearchableInfo(getActivity().getComponentName
+// ()));
+// _searchView.setIconifiedByDefault(false);
+// _searchView.setOnQueryTextListener(this);
+// _searchView.setOnCloseListener(this);
+// _searchView.clearFocus();
+// InputMethodManager mgr = (InputMethodManager) getActivity().getSystemService(Context
+// .INPUT_METHOD_SERVICE);
+// mgr.hideSoftInputFromWindow(_searchView.getWindowToken(), 0);
+//
+//
+// List items = (List) getArguments().getSerializable(ITEMS);
+//
+// _listViewItems = (ListView) rootView.findViewById(R.id.listItems);
+//
+// //create the adapter by passing your ArrayList data
+// listAdapter = new ArrayAdapter(getActivity(), android.R.layout.simple_list_item_1,
+// items);
+// //attach the adapter to the list
+// _listViewItems.setAdapter(listAdapter);
+//
+// _listViewItems.setTextFilterEnabled(true);
+//
+// _listViewItems.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+// @Override
+// public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+// _searchableItem.onSearchableItemClicked(listAdapter.getItem(position), position);
+// getDialog().dismiss();
+// }
+// });
+// }
+//
+// @Override
+// public boolean onClose() {
+// return false;
+// }
+//
+// @Override
+// public boolean onQueryTextSubmit(String s) {
+// _searchView.clearFocus();
+// return true;
+// }
+//
+// @Override
+// public boolean onQueryTextChange(String s) {
+//// listAdapter.filterData(s);
+// if (TextUtils.isEmpty(s)) {
+//// _listViewItems.clearTextFilter();
+// ((ArrayAdapter) _listViewItems.getAdapter()).getFilter().filter(null);
+// } else {
+// ((ArrayAdapter) _listViewItems.getAdapter()).getFilter().filter(s);
+// }
+// if (null != _onSearchTextChanged) {
+// _onSearchTextChanged.onSearchTextChanged(s);
+// }
+// return true;
+// }
+
+ public interface SearchableItem<T> extends Serializable {
+ void onSearchableItemClicked(T item, int position);
+ }
+
+ public interface OnSearchTextChanged {
+ void onSearchTextChanged(String strText);
+ }
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/HITK.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/HITK.java
index 5d0c596..10513b3 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/HITK.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/HITK.java
@@ -15,16 +15,16 @@ public enum HITK {
Green,
Yellow,
Blue,
- Zero("0"),
- One("1"),
- Two("2"),
- Three("3"),
- Four("4"),
- Five("5"),
- Six("6"),
- Seven("7"),
- Eight("8"),
- Nine("9"),
+ Zero("0"),
+ One("1"),
+ Two("2"),
+ Three("3"),
+ Four("4"),
+ Five("5"),
+ Six("6"),
+ Seven("7"),
+ Eight("8"),
+ Nine("9"),
Info,
Play_Pause("Play/Pause"),
Play,
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/RemoteActivity.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/RemoteActivity.java
index 254150e..d935eda 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/RemoteActivity.java
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/remote/RemoteActivity.java
@@ -4,6 +4,7 @@ package de.bjusystems.vdrmanager.remote;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
+import android.content.ContextWrapper;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -13,7 +14,6 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
-import android.util.Pair;
import android.view.ContextMenu;
import android.view.KeyEvent;
import android.view.Menu;
@@ -51,13 +51,22 @@ import java.util.Set;
import de.androvdr.widget.AnimatedTextView;
import de.androvdr.widget.FontAwesome;
+import de.bjusystems.vdrmanager.ButtonMapping;
import de.bjusystems.vdrmanager.R;
import de.bjusystems.vdrmanager.backup.IOUtils;
import de.bjusystems.vdrmanager.data.Preferences;
-import de.bjusystems.vdrmanager.gui.ColoredButton;
import de.bjusystems.vdrmanager.gui.Utils;
+import de.bjusystems.vdrmanager.gui.colorpicker.ColorPickerDialog;
import de.bjusystems.vdrmanager.tasks.VoidAsyncTask;
+import static de.bjusystems.vdrmanager.ButtonMapping.COLOR;
+import static de.bjusystems.vdrmanager.ButtonMapping.COLOR_PREFIX;
+import static de.bjusystems.vdrmanager.ButtonMapping.KEY;
+import static de.bjusystems.vdrmanager.ButtonMapping.KEY_PREFIX;
+import static de.bjusystems.vdrmanager.ButtonMapping.LABEL;
+import static de.bjusystems.vdrmanager.ButtonMapping.LABEL_PREFIX;
+import static de.bjusystems.vdrmanager.ButtonMapping.NO_COLOR;
+
/**
* The type Remote activity.
*/
@@ -187,22 +196,20 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
public void export() {
SharedPreferences sharedPref = getSharedPreferences("remote_" + Preferences.get().getCurrentVdr().getId(), Context.MODE_PRIVATE);
ViewGroup viewGroup = (ViewGroup) findViewById(R.id.remoteroot);
- HashMap<String, Pair<String, String>> map = new HashMap<>();
+ HashMap<String, ButtonMapping> map = new HashMap<>();
collect(viewGroup, map, sharedPref);
- if(map.isEmpty()){
+ if (map.isEmpty()) {
Utils.say(this, R.string.remote_nothing_to_import);
return;
}
JSONObject root = new JSONObject();
try {
- for (Map.Entry<String, Pair<String, String>> e : map.entrySet()) {
- JSONObject pair = new JSONObject();
- Pair<String, String> stringStringPair = e.getValue();
- pair.put("key", stringStringPair.first);
- pair.put("label", stringStringPair.second);
- root.put(e.getKey(), pair);
+ for (Map.Entry<String, ButtonMapping> e : map.entrySet()) {
+ JSONObject button = new JSONObject();
+ ButtonMapping buttonMapping = e.getValue();
+ root.put(e.getKey(), buttonMapping.toJson());
}
} catch (JSONException jse) {
Utils.say(this, jse.getLocalizedMessage());
@@ -248,7 +255,7 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
* @param map the map
* @param sharedPref the shared pref
*/
- public void collect(ViewGroup viewGroup, HashMap<String, Pair<String, String>> map, SharedPreferences sharedPref) {
+ public void collect(ViewGroup viewGroup, HashMap<String, ButtonMapping> map, SharedPreferences sharedPref) {
for (int i = 0; i < viewGroup.getChildCount(); i++) {
View v = viewGroup.getChildAt(i);
if (v instanceof ViewGroup) {
@@ -258,12 +265,13 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
continue;
}
String tagKey = String.valueOf(v.getTag());
- String hitk = sharedPref.getString("key_" + tagKey, null);
- String label = sharedPref.getString("label_" + tagKey, null);
- if (hitk == null && label == null) {
+ String hitk = sharedPref.getString(KEY_PREFIX + tagKey, null);
+ String label = sharedPref.getString(LABEL_PREFIX + tagKey, null);
+ Integer color = sharedPref.getInt(COLOR_PREFIX + tagKey, -1);
+ if (hitk == null && label == null && color == -1) {
continue;
}
- map.put(tagKey, Pair.create(hitk, label));
+ map.put(tagKey, new ButtonMapping(hitk, label, color));
}
}
}
@@ -317,14 +325,24 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
((Button) v).setOnClickListener(this);
((Button) v).setOnLongClickListener(this);
- String hitk = sharedPref.getString("key_" + String.valueOf(v.getTag()), null);
+ String hitk = sharedPref.getString(KEY_PREFIX + String.valueOf(v.getTag()), null);
setOverrideTag(v, hitk);
- String label = sharedPref.getString("label_" + String.valueOf(v.getTag()), null);
+ String label = sharedPref.getString(LABEL_PREFIX + String.valueOf(v.getTag()), null);
setOverrideLabel((Button) v, label);
+ Integer color = sharedPref.getInt(COLOR_PREFIX + String.valueOf(v.getTag()), NO_COLOR);
+ setOverrideColor((Button) v, color);
+
}
}
}
+ private void setOverrideColor(Button v, Integer color) {
+ if (color == null || color == NO_COLOR) {
+ return;
+ }
+ v.setTextColor(color);
+ }
+
private void setOverrideLabel(Button b, CharSequence label) {
if (label == null) {
return;
@@ -334,7 +352,7 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
private void restart() {
- if(getIntent() != null) {
+ if (getIntent() != null) {
getIntent().removeExtra(Intent.EXTRA_STREAM);
}
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
@@ -412,6 +430,18 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
MenuItem item = menu.findItem(R.id.remapback);
}
+
+ private Activity scanForActivity(Context cont) {
+ if (cont == null)
+ return null;
+ else if (cont instanceof Activity)
+ return (Activity) cont;
+ else if (cont instanceof ContextWrapper)
+ return scanForActivity(((ContextWrapper) cont).getBaseContext());
+
+ return null;
+ }
+
@Override
public boolean onLongClick(final View v) {
@@ -420,48 +450,130 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
return true;
}
- CharSequence text = ((Button) v).getText();
final String tag = (String) v.getTag();
+
+ final Button button = (Button) v;
+ final CharSequence initilHitkLabel = button.getText();
final String override = (String) v.getTag(TAG_KEY);
- String current = override != null ? override : tag;
+ final String initialHitk = override != null ? override : tag;
- View view = getLayoutInflater().inflate(R.layout.edit_remote_key, null);
+ final View rview = getLayoutInflater().inflate(R.layout.edit_remote_key, null);
- final EditText hitk = (EditText) view.findViewById(R.id.hitk);
- TextView hitkLabel = (TextView) view.findViewById(R.id.hitkLabel);
- if (v instanceof ColoredButton) {
- hitk.setVisibility(View.GONE);
- hitkLabel.setVisibility(View.GONE);
- } else {
- hitk.setVisibility(View.VISIBLE);
- hitkLabel.setVisibility(View.VISIBLE);
- hitk.setTypeface(
- FontAwesome.getFontAwesome(this)
- );
- }
- hitk.setText(text);
- final Spinner hitkspinner = (Spinner) view.findViewById(R.id.hitkSpinner);
+ final EditText hitk = (EditText) rview.findViewById(R.id.hitk);
+ TextView hitkLabel = (TextView) rview.findViewById(R.id.hitkLabel);
+ View hitkLabelColorPicker = rview.findViewById(R.id.hitkLabelColorPicker);
+ View faPicker = rview.findViewById(R.id.faPicker);
+
+ faPicker.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ ArrayList items = new ArrayList();
+ FaListDialog faListDialog = new FaListDialog(RemoteActivity.this);
+ faListDialog.setSearchableItem(new FaListDialog.SearchableItem<String>() {
+ @Override
+ public void onSearchableItemClicked(String item, int position) {
+ hitk.setText(item.substring(0,1));
+ hitk.setSelection(hitk.getText().
+ length());
+ }
+ });
+ //faListDialog.setOnSearchableItemClickListener(new FaListDialog.SearchableItem() {
+ // @Override
+ //public void onSearchableItemClicked(Object item, int position) {
+
+// }
+// });
+
+
+ faListDialog.show();
+// AlertDialog.Builder builder = new AlertDialog.Builder(RemoteActivity.this);
+// View view = getLayoutInflater().inflate(R.layout.searchspinner, null);
+// builder.setView(view);
+// if (view instanceof ViewGroup) {
+// ViewGroup faPickerVG = (ViewGroup) view;
+// for (int i = 0; i < faPickerVG.getChildCount(); ++i) {
+// final View childAt = faPickerVG.getChildAt(i);
+// if (childAt instanceof TextView) {
+// ((TextView) childAt).setTypeface(FontAwesome.getFontAwesome(RemoteActivity.this));
+// }
+// }
+// }
+// builder.create().show();
+
+ }
+ });
+// if (v instanceof ColoredButton) {
+// hitk.setVisibility(View.GONE);
+// hitkLabel.setVisibility(View.GONE);
+// } else {
+ hitk.setVisibility(View.VISIBLE);
+ hitkLabel.setVisibility(View.VISIBLE);
+ hitk.setTypeface(
+ FontAwesome.getFontAwesome(this));
+ //);
+ //}
+ hitk.setText(initilHitkLabel);
+ hitk.setSelection(hitk.getText().
+
+ length());
+
+ final int initialTextColor = button.getCurrentTextColor();
+ final int[] currentTextColor = {initialTextColor};
+ hitk.setTextColor(currentTextColor[0]);
+ final ColorPickerDialog colorPicker = new ColorPickerDialog(
+
+ RemoteActivity.this, null, currentTextColor[0]);
+ colorPicker
+ .setOnColorChangedListener(new ColorPickerDialog.OnColorChangedListener() {
+ @Override
+ public void colorChanged(int color) {
+ currentTextColor[0] = color;
+ hitk.setTextColor(currentTextColor[0]);
+
+ colorPicker.dismiss();
+ }
+ });
+ hitkLabelColorPicker.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+
+ colorPicker.show();
+ }
+ });
+
+
+ final Spinner hitkspinner = (Spinner) rview.findViewById(R.id.hitkSpinner);
final ArrayList<String> keys = new ArrayList<>();
- for (de.bjusystems.vdrmanager.remote.HITK hk : de.bjusystems.vdrmanager.remote.HITK.values()) {
+ for (
+ de.bjusystems.vdrmanager.remote.HITK hk : de.bjusystems.vdrmanager.remote.HITK.values())
+
+ {
keys.add(hk.getValue());
}
+
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(this, android.R.layout.simple_spinner_dropdown_item, keys.toArray(new String[]{}));
// Specify the layout to use when the list of choices appears
// hitkspinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
hitkspinner.setAdapter(adapter);
int selected = -1;
- for (int i = 0; i < keys.size(); ++i) {
+ for (
+ int i = 0; i < keys.size(); ++i)
+
+ {
String k = keys.get(i);
- if (k.equals(current)) {
+ if (k.equals(initialHitk)) {
selected = i;
break;
}
}
hitkspinner.setSelection(selected);
- hitkspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
+ hitkspinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
+
+ {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
@@ -474,26 +586,54 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
});
AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener()
+
+ {
@Override
public void onClick(DialogInterface dialog, int which) {
CharSequence nhk = hitk.getText();
- ((Button) v).setText(nhk);
String hitk = (String) hitkspinner.getSelectedItem();
- putVdrKey("key_" + tag, hitk);
- putVdrKey("label_" + tag, nhk);
+ if (initialTextColor == currentTextColor[0] &&//
+ initilHitkLabel.toString().equals(nhk.toString()) && //
+ initialHitk.equals(hitk)
+ ) {
+ return;
+ }
+
+ ((Button) v).setText(nhk);
+ ((Button) v).setTextColor(currentTextColor[0]);
+ putVdrKey(KEY_PREFIX + tag, hitk);
+ putVdrKey(LABEL_PREFIX + tag, nhk);
+ if (currentTextColor[0] != NO_COLOR) {
+ putVdrKey(COLOR_PREFIX + tag, currentTextColor[0]);
+ }
setOverrideTag(v, hitk);
}
})
- .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+ .
+
+ setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+
+ }
+ }).
+ setNeutralButton(R.string.reset, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
-
+ removeVdrKey(KEY_PREFIX + tag);
+ removeVdrKey(LABEL_PREFIX + tag);
+ removeVdrKey(COLOR_PREFIX + tag);
+ restart();
}
- }).setView(view);
+ })
+
+ .setView(rview);
+
+ builder.create().
- builder.create().show();
+ show();
return false;
@@ -539,14 +679,17 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
if (all.contains(next) == false) {
continue;
}
- JSONObject pair = object.getJSONObject(next);
- String key = pair.getString("key");
+ JSONObject button = object.getJSONObject(next);
+ String key = button.getString(KEY);
if (all.contains(key) == false) {
continue;
}
- String value = pair.getString("label");
- edit.putString("key_" + next, key);
- edit.putString("label_" + next, value);
+ String value = button.getString(LABEL);
+ edit.putString(KEY_PREFIX + next, key);
+ edit.putString(LABEL_PREFIX + next, value);
+ if (button.getInt(COLOR) != NO_COLOR) {
+ edit.putInt(COLOR_PREFIX + next, button.getInt(COLOR));
+ }
counter++;
}
edit.commit();
@@ -570,6 +713,20 @@ public class RemoteActivity extends Activity implements OnClickListener, View.On
edit.commit();
}
+ private void removeVdrKey(String key) {
+ SharedPreferences sharedPref = getSharedPreferences("remote_" + Preferences.get().getCurrentVdr().getId(), Context.MODE_PRIVATE);
+ SharedPreferences.Editor edit = sharedPref.edit();
+ edit.remove(key);
+ edit.commit();
+ }
+
+ private void putVdrKey(String key, Integer value) {
+ SharedPreferences sharedPref = getSharedPreferences("remote_" + Preferences.get().getCurrentVdr().getId(), Context.MODE_PRIVATE);
+ SharedPreferences.Editor edit = sharedPref.edit();
+ edit.putInt(key, value);
+ edit.commit();
+ }
+
private String getCurrentTag(View view) {
Object tag = view.getTag();
if (tag instanceof String == false) {
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/utils/VdrManagerExceptionHandler.java b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/utils/VdrManagerExceptionHandler.java
new file mode 100644
index 0000000..bde604c
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/java/de/bjusystems/vdrmanager/utils/VdrManagerExceptionHandler.java
@@ -0,0 +1,96 @@
+package de.bjusystems.vdrmanager.utils;
+
+import android.content.Context;
+import android.content.Intent;
+
+import java.util.logging.Logger;
+
+/**
+ * The type Vdr manager exception handler.
+ */
+public class VdrManagerExceptionHandler implements Thread.UncaughtExceptionHandler {
+ private Context context;
+
+ /**
+ * The Log.
+ */
+ Logger log = Logger.getLogger(VdrManagerExceptionHandler.class.getSimpleName());
+
+ private Thread.UncaughtExceptionHandler previous;
+
+ private static VdrManagerExceptionHandler INSTANCE;
+
+ /**
+ * The constant RECEIVER.
+ */
+ public static final String RECEIVER = "herrlado@gmail.com";
+
+ private VdrManagerExceptionHandler(Context context,
+ Thread.UncaughtExceptionHandler previous) {
+ this.context = context;
+ this.previous = previous;
+
+ }
+
+ /**
+ * Get vdr manager exception handler.
+ *
+ * @param context the context
+ * @param previous the previous
+ * @return the vdr manager exception handler
+ */
+ public static VdrManagerExceptionHandler get(Context context,
+ Thread.UncaughtExceptionHandler previous) {
+
+ if (INSTANCE != null) {
+ return INSTANCE;
+ }
+ INSTANCE = new VdrManagerExceptionHandler(context, previous);
+
+ return INSTANCE;
+ }
+
+ @Override
+ public void uncaughtException(Thread thread, Throwable e) {
+
+ log.warning(e.getMessage());
+
+ StackTraceElement[] arr = e.getStackTrace();
+ String report = e.toString() + "\n\n";
+ report += "--------- Stack trace ---------\n\n";
+ for (int i = 0; i < arr.length; i++) {
+ report += " " + arr[i].toString() + "\n";
+ }
+ report += "-------------------------------\n\n";
+
+ // If the exception was thrown in a background thread inside
+ // AsyncTask, then the actual exception can be found with getCause
+ report += "--------- Cause ---------\n\n";
+ Throwable cause = e.getCause();
+ if (cause != null) {
+ report += cause.toString() + "\n\n";
+ arr = cause.getStackTrace();
+ for (int i = 0; i < arr.length; i++) {
+ report += " " + arr[i].toString() + "\n";
+ }
+ }
+ report += "-------------------------------\n\n";
+
+ Intent sendIntent = new Intent(Intent.ACTION_SEND);
+ String subject = "Force Close Report VDR Manager";
+ String body = "Sendlog for VDR Manager\n\n\n" + report
+ + "\n\n";
+
+ sendIntent.putExtra(Intent.EXTRA_EMAIL,
+ new String[]{RECEIVER});
+ sendIntent.putExtra(Intent.EXTRA_TEXT, body);
+ sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject);
+ sendIntent.setType("message/rfc822");
+
+
+ context.startActivity(Intent.createChooser(sendIntent,
+ "Force Close Report VDR Manager"));
+
+ previous.uncaughtException(thread, e);
+ }
+}
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote.xml
new file mode 100644
index 0000000..c7e01a8
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote.xml
@@ -0,0 +1,399 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/remoteroot"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="5dp">
+
+
+ <LinearLayout
+ android:id="@+id/resultwrapper"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true">
+
+ <de.androvdr.widget.AnimatedTextView
+ android:id="@+id/result"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right"
+ android:maxLines="1"
+ android:textSize="10sp" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_below="@+id/resultwrapper"
+ android:orientation="horizontal">
+
+ <RelativeLayout
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+
+ <LinearLayout
+ android:id="@+id/rows0"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="10dp"
+ android:orientation="horizontal">
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/Power"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Power"
+ android:text="XXX" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Back"
+ android:text="@string/back" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Setup"
+ android:text="@string/f085" />
+ </LinearLayout>
+
+ <RelativeLayout
+ android:id="@+id/navigation"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@+id/rows1"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/colorButtons">
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/ok"
+ style="@style/cursorButton"
+ android:layout_centerVertical="true"
+ android:layout_gravity="center_horizontal"
+ android:layout_toLeftOf="@+id/right"
+ android:layout_toStartOf="@+id/right"
+ android:tag="Ok"
+ android:text="@string/ok" />
+
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/right"
+ style="@style/cursorButton"
+ android:layout_centerVertical="true"
+ android:layout_toEndOf="@+id/up"
+ android:layout_toRightOf="@+id/up"
+ android:tag="Right"
+ android:text="@string/f061" />
+
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/left"
+ style="@style/cursorButton"
+ android:layout_centerVertical="true"
+ android:layout_toLeftOf="@+id/ok"
+ android:layout_toStartOf="@+id/ok"
+ android:tag="Left"
+ android:text="@string/f060" />
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/up"
+ style="@style/cursorButton"
+ android:layout_above="@+id/ok"
+ android:layout_centerHorizontal="true"
+ android:layout_gravity="center_horizontal"
+ android:tag="Up"
+ android:text="@string/f062" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/ChannelUp"
+ style="@style/volChanButton"
+
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignTop="@+id/up"
+ android:tag="Channel+"
+ android:text="@string/f0aa" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/VolumeUp"
+ style="@style/volChanButton"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_alignTop="@+id/up"
+ android:tag="Volume+"
+ android:text="@string/f028" />
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/down"
+ style="@style/cursorButton"
+
+ android:layout_below="@+id/ok"
+
+ android:layout_gravity="center_horizontal"
+ android:layout_toLeftOf="@+id/right"
+ android:layout_toStartOf="@+id/right"
+ android:tag="Down"
+ android:text="@string/f063" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/ChannelDown"
+ style="@style/volChanButton"
+ android:layout_alignBottom="@+id/down"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:tag="Channel-"
+ android:text="@string/f0ab" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/VolumeDown"
+ style="@style/volChanButton"
+ android:layout_alignBottom="@+id/down"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:tag="Volume-"
+ android:text="@string/f027" />
+
+ </RelativeLayout>
+
+
+ <LinearLayout
+ android:id="@+id/colorButtons"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/rows0"
+ android:orientation="horizontal">
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/red"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Red"
+ android:text="@string/remotesquares"
+ android:textColor="@color/red" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/green"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Green"
+ android:text="@string/remotesquares"
+ android:textColor="@color/green" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/yellow"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Yellow"
+ android:text="@string/remotesquares"
+ android:textColor="@color/yellow" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/blue"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Blue"
+ android:text="@string/remotesquares"
+ android:textColor="@color/blue" />
+
+
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:id="@+id/rows1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_above="@+id/rows2"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:orientation="horizontal">
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Mute"
+ android:text="@string/fa_mute" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Info"
+ android:text="@string/f129" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Back"
+ android:text="@string/f177" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Menu"
+ android:text="@string/f0c9" />
+
+ </LinearLayout>
+
+
+ <LinearLayout
+
+ android:id="@+id/rows2"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:layout_marginBottom="10dp"
+ android:layout_marginTop="10dp"
+ android:orientation="horizontal">
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Audio"
+ android:text="@string/f025" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Subtitles"
+ android:text="@string/fa_bars" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="PrevChannel"
+ android:text="@string/f0e2" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Commands"
+ android:text="@string/f120" />
+ </LinearLayout>
+
+
+ </RelativeLayout>
+
+ <RelativeLayout
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_weight="1">
+
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_alignParentBottom="true"
+ android:layout_centerInParent="true"
+ android:orientation="horizontal">
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Audio"
+ android:text="@string/f025" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Subtitles"
+ android:text="S" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="PrevChannel"
+ android:text="@string/f0e2" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Commands"
+ android:text="@string/f120" />
+ </LinearLayout>
+
+
+
+ </RelativeLayout>
+
+
+ </LinearLayout>
+
+</RelativeLayout>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote_test.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote_test.xml
new file mode 100644
index 0000000..8ac2b55
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout-land/remote_test.xml
@@ -0,0 +1,344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:id="@+id/remoteroot"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:orientation="vertical"
+ android:padding="5dp">
+
+
+
+ <LinearLayout
+ android:id="@+id/resultwrapper"
+ android:layout_width="fill_parent"
+ android:layout_alignParentEnd="true"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentTop="true"
+ android:layout_height="wrap_content">
+ <de.androvdr.widget.AnimatedTextView
+ android:id="@+id/result"
+ android:maxLines="1"
+ android:layout_width="0dp"
+ android:layout_weight="1"
+ android:layout_height="wrap_content"
+ android:textSize="10sp"
+ android:gravity="right" />
+ </LinearLayout>
+
+
+
+ <LinearLayout
+ android:id="@+id/rows0"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:layout_marginBottom="10dp"
+ android:layout_below="@+id/resultwrapper">
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Power"
+ android:text="&#xf011;"
+ android:id="@+id/Power" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Back"
+ android:text="Back" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag=""
+ />
+
+
+
+
+
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Setup"
+ android:text="&#xf085;" />
+ </LinearLayout>
+
+ <RelativeLayout
+ android:id="@+id/navigation"
+
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:layout_below="@+id/colorButtons"
+ android:layout_above="@+id/rows1">
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/ok"
+ style="@style/cursorButton"
+ android:layout_centerVertical="true"
+ android:layout_gravity="center_horizontal"
+ android:layout_toLeftOf="@+id/right"
+ android:layout_toStartOf="@+id/right"
+ android:tag="Ok"
+ android:text="OK" />
+
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/right"
+ style="@style/cursorButton"
+ android:tag="Right"
+ android:text="&#xf061;"
+ android:layout_centerVertical="true"
+ android:layout_toRightOf="@+id/up"
+ android:layout_toEndOf="@+id/up" />
+
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/left"
+ style="@style/cursorButton"
+ android:tag="Left"
+ android:text="&#xf060;"
+ android:layout_centerVertical="true"
+ android:layout_toLeftOf="@+id/ok"
+ android:layout_toStartOf="@+id/ok" />
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/up"
+ style="@style/cursorButton"
+ android:layout_gravity="center_horizontal"
+ android:tag="Up"
+ android:text="&#xf062;"
+ android:layout_above="@+id/ok"
+ android:layout_centerHorizontal="true" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/ChannelUp"
+ style="@style/volChanButton"
+
+ android:tag="Channel+"
+ android:text="&#xf0aa;"
+ android:layout_alignTop="@+id/up"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/VolumeUp"
+ style="@style/volChanButton"
+ android:layout_height="wrap_content"
+ android:tag="Volume+"
+ android:text="&#xf028;"
+ android:layout_alignTop="@+id/up"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true" />
+
+ <de.androvdr.widget.SquareButton
+ android:id="@+id/down"
+ style="@style/cursorButton"
+
+ android:layout_gravity="center_horizontal"
+
+ android:tag="Down"
+ android:text="&#xf063;"
+ android:layout_below="@+id/ok"
+ android:layout_toLeftOf="@+id/right"
+ android:layout_toStartOf="@+id/right" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/ChannelDown"
+ style="@style/volChanButton"
+ android:tag="Channel-"
+ android:text="&#xf0ab;"
+ android:layout_alignBottom="@+id/down"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/VolumeDown"
+ style="@style/volChanButton"
+ android:tag="Volume-"
+ android:text="&#xf027;"
+ android:layout_alignBottom="@+id/down"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true" />
+
+ </RelativeLayout>
+
+
+
+ <LinearLayout
+ android:id="@+id/colorButtons"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="horizontal"
+ android:layout_alignParentRight="true"
+ android:layout_alignParentEnd="true"
+ android:layout_below="@+id/rows0">
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/red"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Red"
+ android:text="&#xf04d;&#xf04d;&#xf04d;"
+ android:textColor="@color/red"
+ />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/green"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:text="&#xf04d;&#xf04d;&#xf04d;"
+ android:tag="Green"
+ android:textColor="@color/green"
+ />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/yellow"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Yellow"
+ android:text="&#xf04d;&#xf04d;&#xf04d;"
+ android:textColor="@color/yellow"
+ />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/blue"
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Blue"
+ android:text="&#xf04d;&#xf04d;&#xf04d;"
+ android:textColor="@color/blue"
+ />
+
+
+ </LinearLayout>
+
+
+ <LinearLayout
+ android:id="@+id/rows1"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentLeft="true"
+ android:layout_alignParentStart="true"
+ android:orientation="horizontal"
+ android:layout_above="@+id/rows2">
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Mute"
+ android:text="&#xf026;" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Info"
+ android:text="&#xf129;" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Back"
+ android:text="&#xf177;" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Menu"
+ android:text="&#xf0c9;" />
+
+ </LinearLayout>
+
+
+ <LinearLayout
+
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:id="@+id/rows2"
+ android:orientation="horizontal"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"
+ android:layout_alignParentBottom="true">
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Audio"
+ android:text="&#xf025;" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Subtitles"
+ android:text="S" />
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="PrevChannel"
+ android:text="&#xf0e2;" />
+
+
+ <de.androvdr.widget.FontAwesomeButton
+ style="?android:attr/buttonStyleSmall"
+ android:layout_width="0dp"
+
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:tag="Commands"
+ android:text="&#xf120;" />
+ </LinearLayout>
+
+
+</RelativeLayout>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/edit_remote_key.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/edit_remote_key.xml
index 2dfe156..ea20cc2 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/edit_remote_key.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/edit_remote_key.xml
@@ -9,7 +9,7 @@
android:id="@+id/hitkLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_weight="1"
+ android:clickable="true"
android:text="@string/label" />
@@ -26,8 +26,19 @@
<de.androvdr.widget.FontAwesomeButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
+ android:id="@+id/faPicker"
android:text="&#xf0b0;" />
+ <de.androvdr.widget.FontAwesomeButton
+ android:id="@+id/hitkLabelColorPicker"
+ android:layout_width="wrap_content"
+ android:textColor="@color/yellow"
+ android:layout_height="wrap_content"
+ android:text="&#xf1fc;" />
+
+
+
+
</LinearLayout>
<TextView
@@ -40,26 +51,4 @@
android:id="@+id/hitkSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
-
- <LinearLayout
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:visibility="gone">
-
- <Button
- android:id="@+id/button7"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="right"
- android:layout_weight="1"
- android:text="@android:string/cancel" />
-
- <Button
- android:id="@+id/button6"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:text="@android:string/ok" />
- </LinearLayout>
</LinearLayout>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/fa_search.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/fa_search.xml
new file mode 100644
index 0000000..8764059
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/fa_search.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="vertical"
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
+ android:paddingTop="8dp">
+
+ <SearchView
+ android:id="@+id/faSearch"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:iconifiedByDefault="false" />
+
+ <ListView
+ android:id="@+id/faItems"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content" />
+
+</LinearLayout>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/remote.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/remote.xml
index c75d83e..4604b07 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/remote.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/remote.xml
@@ -8,45 +8,44 @@
android:padding="5dp">
-
<LinearLayout
android:id="@+id/resultwrapper"
android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
- android:layout_alignParentTop="true"
- android:layout_height="wrap_content">
- <de.androvdr.widget.AnimatedTextView
- android:id="@+id/result"
- android:maxLines="1"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:textSize="10sp"
- android:gravity="right" />
- </LinearLayout>
+ android:layout_alignParentTop="true">
+ <de.androvdr.widget.AnimatedTextView
+ android:id="@+id/result"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:gravity="right"
+ android:maxLines="1"
+ android:textSize="10sp" />
+ </LinearLayout>
<LinearLayout
android:id="@+id/rows0"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
+ android:layout_below="@+id/resultwrapper"
android:layout_marginBottom="10dp"
- android:layout_below="@+id/resultwrapper">
+ android:orientation="horizontal">
<de.androvdr.widget.FontAwesomeButton
- style="?android:attr/buttonStyleSmall"
+ android:id="@+id/Power"
+ style="?android:attr/buttonStyleSmall"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Power"
- android:text="&#xf011;"
- android:id="@+id/Power" />
+ android:text="@string/fa_power_off" />
<de.androvdr.widget.FontAwesomeButton
style="?android:attr/buttonStyleSmall"
@@ -62,13 +61,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:tag=""
- />
-
-
-
-
-
+ android:tag="" />
<de.androvdr.widget.FontAwesomeButton
@@ -85,10 +78,10 @@
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
+ android:layout_above="@+id/rows1"
android:layout_alignParentEnd="true"
- android:layout_below="@+id/colorButtons"
- android:layout_above="@+id/rows1">
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/colorButtons">
<de.androvdr.widget.SquareButton
android:id="@+id/ok"
@@ -104,93 +97,92 @@
<de.androvdr.widget.SquareButton
android:id="@+id/right"
style="@style/cursorButton"
- android:tag="Right"
- android:text="&#9654;"
android:layout_centerVertical="true"
+ android:layout_toEndOf="@+id/up"
android:layout_toRightOf="@+id/up"
- android:layout_toEndOf="@+id/up" />
+ android:tag="Right"
+ android:text="&#xf061;" />
<de.androvdr.widget.SquareButton
android:id="@+id/left"
style="@style/cursorButton"
- android:tag="Left"
- android:text="&#9664;"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/ok"
- android:layout_toStartOf="@+id/ok" />
+ android:layout_toStartOf="@+id/ok"
+ android:tag="Left"
+ android:text="&#xf060;" />
<de.androvdr.widget.SquareButton
android:id="@+id/up"
style="@style/cursorButton"
+ android:layout_above="@+id/ok"
+ android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal"
android:tag="Up"
- android:text="&#9650;"
- android:layout_above="@+id/ok"
- android:layout_centerHorizontal="true" />
+ android:text="&#xf062;" />
<de.androvdr.widget.FontAwesomeButton
android:id="@+id/ChannelUp"
style="@style/volChanButton"
- android:tag="Channel+"
- android:text="&#xf0aa;"
- android:layout_alignTop="@+id/up"
+ android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true" />
+ android:layout_alignTop="@+id/up"
+ android:tag="Channel+"
+ android:text="&#xf0aa;" />
<de.androvdr.widget.FontAwesomeButton
android:id="@+id/VolumeUp"
style="@style/volChanButton"
android:layout_height="wrap_content"
- android:tag="Volume+"
- android:text="&#xf028;"
- android:layout_alignTop="@+id/up"
android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true" />
+ android:layout_alignParentStart="true"
+ android:layout_alignTop="@+id/up"
+ android:tag="Volume+"
+ android:text="&#xf028;" />
<de.androvdr.widget.SquareButton
android:id="@+id/down"
style="@style/cursorButton"
- android:layout_gravity="center_horizontal"
-
- android:tag="Down"
- android:text="&#9660;"
android:layout_below="@+id/ok"
+
+ android:layout_gravity="center_horizontal"
android:layout_toLeftOf="@+id/right"
- android:layout_toStartOf="@+id/right" />
+ android:layout_toStartOf="@+id/right"
+ android:tag="Down"
+ android:text="&#xf063;" />
<de.androvdr.widget.FontAwesomeButton
android:id="@+id/ChannelDown"
style="@style/volChanButton"
- android:tag="Channel-"
- android:text="&#xf0ab;"
android:layout_alignBottom="@+id/down"
+ android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
- android:layout_alignParentEnd="true" />
+ android:tag="Channel-"
+ android:text="&#xf0ab;" />
<de.androvdr.widget.FontAwesomeButton
android:id="@+id/VolumeDown"
style="@style/volChanButton"
- android:tag="Volume-"
- android:text="&#xf027;"
android:layout_alignBottom="@+id/down"
android:layout_alignParentLeft="true"
- android:layout_alignParentStart="true" />
+ android:layout_alignParentStart="true"
+ android:tag="Volume-"
+ android:text="&#xf027;" />
</RelativeLayout>
-
<LinearLayout
android:id="@+id/colorButtons"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
- android:layout_below="@+id/rows0">
+ android:layout_alignParentRight="true"
+ android:layout_below="@+id/rows0"
+ android:orientation="horizontal">
<de.androvdr.widget.FontAwesomeButton
@@ -200,33 +192,30 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Red"
- android:text="&#xf04d;&#xf04d;&#xf04d;"
- android:textColor="@color/red"
- />
+ android:text="@string/remotesquares"
+ android:textColor="@color/red" />
<de.androvdr.widget.FontAwesomeButton
android:id="@+id/green"
style="?android:attr/buttonStyleSmall"
- android:layout_width="0dp"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
- android:text="&#xf04d;&#xf04d;&#xf04d;"
android:tag="Green"
- android:textColor="@color/green"
- />
+ android:text="@string/remotesquares"
+ android:textColor="@color/green" />
<de.androvdr.widget.FontAwesomeButton
android:id="@+id/yellow"
style="?android:attr/buttonStyleSmall"
- android:layout_width="0dp"
+ android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Yellow"
- android:text="&#xf04d;&#xf04d;&#xf04d;"
- android:textColor="@color/yellow"
- />
+ android:text="@string/remotesquares"
+ android:textColor="@color/yellow" />
<de.androvdr.widget.FontAwesomeButton
@@ -236,9 +225,8 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Blue"
- android:text="&#xf04d;&#xf04d;&#xf04d;"
- android:textColor="@color/blue"
- />
+ android:text="@string/remotesquares"
+ android:textColor="@color/blue" />
</LinearLayout>
@@ -248,10 +236,10 @@
android:id="@+id/rows1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
+ android:layout_above="@+id/rows2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
- android:orientation="horizontal"
- android:layout_above="@+id/rows2">
+ android:orientation="horizontal">
<de.androvdr.widget.FontAwesomeButton
style="?android:attr/buttonStyleSmall"
@@ -260,7 +248,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Mute"
- android:text="&#xf026;" />
+ android:text="@string/fa_mute" />
<de.androvdr.widget.FontAwesomeButton
@@ -295,13 +283,13 @@
<LinearLayout
+ android:id="@+id/rows2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
- android:id="@+id/rows2"
- android:orientation="horizontal"
- android:layout_marginTop="10dp"
+ android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
- android:layout_alignParentBottom="true">
+ android:layout_marginTop="10dp"
+ android:orientation="horizontal">
<de.androvdr.widget.FontAwesomeButton
style="?android:attr/buttonStyleSmall"
@@ -309,7 +297,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Audio"
- android:text="&#xf025;" />
+ android:text="@string/f025" />
<de.androvdr.widget.FontAwesomeButton
@@ -318,7 +306,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:tag="Subtitles"
- android:text="S" />
+ android:text="@string/fa_bars" />
<de.androvdr.widget.FontAwesomeButton
style="?android:attr/buttonStyleSmall"
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/searchspinner.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/searchspinner.xml
new file mode 100644
index 0000000..c71b36f
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/searchspinner.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.toptoche.searchablespinnerlibrary.SearchableSpinner xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/spinner"
+ android:entries="@array/font"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/simple_list_item_1_fa.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/simple_list_item_1_fa.xml
new file mode 100644
index 0000000..6a493e1
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/layout/simple_list_item_1_fa.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2006 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<de.androvdr.widget.FontAwesomeTextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/text1"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceListItemSmall"
+ android:gravity="center_vertical"
+ android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+ android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:paddingLeft="?android:attr/listPreferredItemPaddingLeft"
+ android:paddingRight="?android:attr/listPreferredItemPaddingRight" />
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/arrays.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/arrays.xml
index c0398bd..94d1831 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/arrays.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/arrays.xml
@@ -37,17 +37,803 @@
<item>vdr-smarttvweb</item>
</string-array>
- <string-array name="recent_channels_order_entry_values">
- <item>most</item>
- <item>last</item>
- </string-array>
- <array name="recstream_smarttvweb_entry_values">
- <item>progressive</item>
+ <string-array name="recent_channels_order_entry_values">
+ <item>most</item>
+ <item>last</item>
+ </string-array>
+ <array name="recstream_smarttvweb_entry_values">
+ <item>progressive</item>
<item>has</item>
<item>hls</item>
- </array>
-
-
+ </array>
+ <string-array name="font">
+ <item> 500px </item>
+ <item> address-book </item>
+ <item> address-book-o </item>
+ <item> address-card </item>
+ <item> address-card-o </item>
+ <item> adjust </item>
+ <item> adn </item>
+ <item> align-center </item>
+ <item> align-justify </item>
+ <item> align-left </item>
+ <item> align-right </item>
+ <item> amazon </item>
+ <item> ambulance </item>
+ <item> american-sign-language-interpreting </item>
+ <item> anchor </item>
+ <item> android </item>
+ <item> angellist </item>
+ <item> angle-double-down </item>
+ <item> angle-double-left </item>
+ <item> angle-double-right </item>
+ <item> angle-double-up </item>
+ <item> angle-down </item>
+ <item> angle-left </item>
+ <item> angle-right </item>
+ <item> angle-up </item>
+ <item> apple </item>
+ <item> archive </item>
+ <item> area-chart </item>
+ <item> arrow-circle-down </item>
+ <item> arrow-circle-left </item>
+ <item> arrow-circle-o-down </item>
+ <item> arrow-circle-o-left </item>
+ <item> arrow-circle-o-right </item>
+ <item> arrow-circle-o-up </item>
+ <item> arrow-circle-right </item>
+ <item> arrow-circle-up </item>
+ <item> arrow-down </item>
+ <item> arrow-left </item>
+ <item> arrow-right </item>
+ <item> arrow-up </item>
+ <item> arrows </item>
+ <item> arrows-alt </item>
+ <item> arrows-h </item>
+ <item> arrows-v </item>
+ <item> asl-interpreting </item>
+ <item> assistive-listening-systems </item>
+ <item> asterisk </item>
+ <item> at </item>
+ <item> audio-description </item>
+ <item> automobile </item>
+ <item> backward </item>
+ <item> balance-scale </item>
+ <item> ban </item>
+ <item> bandcamp </item>
+ <item> bank </item>
+ <item> bar-chart </item>
+ <item> bar-chart-o </item>
+ <item> barcode </item>
+ <item> bars </item>
+ <item> bath </item>
+ <item> bathtub </item>
+ <item> battery </item>
+ <item> battery-0 </item>
+ <item> battery-1 </item>
+ <item> battery-2 </item>
+ <item> battery-3 </item>
+ <item> battery-4 </item>
+ <item> battery-empty </item>
+ <item> battery-full </item>
+ <item> battery-half </item>
+ <item> battery-quarter </item>
+ <item> battery-three-quarters </item>
+ <item> bed </item>
+ <item> beer </item>
+ <item> behance </item>
+ <item> behance-square </item>
+ <item> bell </item>
+ <item> bell-o </item>
+ <item> bell-slash </item>
+ <item> bell-slash-o </item>
+ <item> bicycle </item>
+ <item> binoculars </item>
+ <item> birthday-cake </item>
+ <item> bitbucket </item>
+ <item> bitbucket-square </item>
+ <item> bitcoin </item>
+ <item> black-tie </item>
+ <item> blind </item>
+ <item> bluetooth </item>
+ <item> bluetooth-b </item>
+ <item> bold </item>
+ <item> bolt </item>
+ <item> bomb </item>
+ <item> book </item>
+ <item> bookmark </item>
+ <item> bookmark-o </item>
+ <item> braille </item>
+ <item> briefcase </item>
+ <item> btc </item>
+ <item> bug </item>
+ <item> building </item>
+ <item> building-o </item>
+ <item> bullhorn </item>
+ <item> bullseye </item>
+ <item> bus </item>
+ <item> buysellads </item>
+ <item> cab </item>
+ <item> calculator </item>
+ <item> calendar </item>
+ <item> calendar-check-o </item>
+ <item> calendar-minus-o </item>
+ <item> calendar-o </item>
+ <item> calendar-plus-o </item>
+ <item> calendar-times-o </item>
+ <item> camera </item>
+ <item> camera-retro </item>
+ <item> car </item>
+ <item> caret-down </item>
+ <item> caret-left </item>
+ <item> caret-right </item>
+ <item> caret-square-o-down </item>
+ <item> caret-square-o-left </item>
+ <item> caret-square-o-right </item>
+ <item> caret-square-o-up </item>
+ <item> caret-up </item>
+ <item> cart-arrow-down </item>
+ <item> cart-plus </item>
+ <item> cc </item>
+ <item> cc-amex </item>
+ <item> cc-diners-club </item>
+ <item> cc-discover </item>
+ <item> cc-jcb </item>
+ <item> cc-mastercard </item>
+ <item> cc-paypal </item>
+ <item> cc-stripe </item>
+ <item> cc-visa </item>
+ <item> certificate </item>
+ <item> chain </item>
+ <item> chain-broken </item>
+ <item> check </item>
+ <item> check-circle </item>
+ <item> check-circle-o </item>
+ <item> check-square </item>
+ <item> check-square-o </item>
+ <item> chevron-circle-down </item>
+ <item> chevron-circle-left </item>
+ <item> chevron-circle-right </item>
+ <item> chevron-circle-up </item>
+ <item> chevron-down </item>
+ <item> chevron-left </item>
+ <item> chevron-right </item>
+ <item> chevron-up </item>
+ <item> child </item>
+ <item> chrome </item>
+ <item> circle </item>
+ <item> circle-o </item>
+ <item> circle-o-notch </item>
+ <item> circle-thin </item>
+ <item> clipboard </item>
+ <item> clock-o </item>
+ <item> clone </item>
+ <item> close </item>
+ <item> cloud </item>
+ <item> cloud-download </item>
+ <item> cloud-upload </item>
+ <item> cny </item>
+ <item> code </item>
+ <item> code-fork </item>
+ <item> codepen </item>
+ <item> codiepie </item>
+ <item> coffee </item>
+ <item> cog </item>
+ <item> cogs </item>
+ <item> columns </item>
+ <item> comment </item>
+ <item> comment-o </item>
+ <item> commenting </item>
+ <item> commenting-o </item>
+ <item> comments </item>
+ <item> comments-o </item>
+ <item> compass </item>
+ <item> compress </item>
+ <item> connectdevelop </item>
+ <item> contao </item>
+ <item> copy </item>
+ <item> copyright </item>
+ <item> creative-commons </item>
+ <item> credit-card </item>
+ <item> credit-card-alt </item>
+ <item> crop </item>
+ <item> crosshairs </item>
+ <item> css3 </item>
+ <item> cube </item>
+ <item> cubes </item>
+ <item> cut </item>
+ <item> cutlery </item>
+ <item> dashboard </item>
+ <item> dashcube </item>
+ <item> database </item>
+ <item> deaf </item>
+ <item> deafness </item>
+ <item> dedent </item>
+ <item> delicious </item>
+ <item> desktop </item>
+ <item> deviantart </item>
+ <item> diamond </item>
+ <item> digg </item>
+ <item> dollar </item>
+ <item> dot-circle-o </item>
+ <item> download </item>
+ <item> dribbble </item>
+ <item> drivers-license </item>
+ <item> drivers-license-o </item>
+ <item> dropbox </item>
+ <item> drupal </item>
+ <item> edge </item>
+ <item> edit </item>
+ <item> eercast </item>
+ <item> eject </item>
+ <item> ellipsis-h </item>
+ <item> ellipsis-v </item>
+ <item> empire </item>
+ <item> envelope </item>
+ <item> envelope-o </item>
+ <item> envelope-open </item>
+ <item> envelope-open-o </item>
+ <item> envelope-square </item>
+ <item> envira </item>
+ <item> eraser </item>
+ <item> etsy </item>
+ <item> eur </item>
+ <item> euro </item>
+ <item> exchange </item>
+ <item> exclamation </item>
+ <item> exclamation-circle </item>
+ <item> exclamation-triangle </item>
+ <item> expand </item>
+ <item> expeditedssl </item>
+ <item> external-link </item>
+ <item> external-link-square </item>
+ <item> eye </item>
+ <item> eye-slash </item>
+ <item> eyedropper </item>
+ <item> fa </item>
+ <item> facebook </item>
+ <item> facebook-f </item>
+ <item> facebook-official </item>
+ <item> facebook-square </item>
+ <item> fast-backward </item>
+ <item> fast-forward </item>
+ <item> fax </item>
+ <item> feed </item>
+ <item> female </item>
+ <item> fighter-jet </item>
+ <item> file </item>
+ <item> file-archive-o </item>
+ <item> file-audio-o </item>
+ <item> file-code-o </item>
+ <item> file-excel-o </item>
+ <item> file-image-o </item>
+ <item> file-movie-o </item>
+ <item> file-o </item>
+ <item> file-pdf-o </item>
+ <item> file-photo-o </item>
+ <item> file-picture-o </item>
+ <item> file-powerpoint-o </item>
+ <item> file-sound-o </item>
+ <item> file-text </item>
+ <item> file-text-o </item>
+ <item> file-video-o </item>
+ <item> file-word-o </item>
+ <item> file-zip-o </item>
+ <item> files-o </item>
+ <item> film </item>
+ <item> filter </item>
+ <item> fire </item>
+ <item> fire-extinguisher </item>
+ <item> firefox </item>
+ <item> first-order </item>
+ <item> flag </item>
+ <item> flag-checkered </item>
+ <item> flag-o </item>
+ <item> flash </item>
+ <item> flask </item>
+ <item> flickr </item>
+ <item> floppy-o </item>
+ <item> folder </item>
+ <item> folder-o </item>
+ <item> folder-open </item>
+ <item> folder-open-o </item>
+ <item> font </item>
+ <item> font-awesome </item>
+ <item> fonticons </item>
+ <item> fort-awesome </item>
+ <item> forumbee </item>
+ <item> forward </item>
+ <item> foursquare </item>
+ <item> free-code-camp </item>
+ <item> frown-o </item>
+ <item> futbol-o </item>
+ <item> gamepad </item>
+ <item> gavel </item>
+ <item> gbp </item>
+ <item> ge </item>
+ <item> gear </item>
+ <item> gears </item>
+ <item> genderless </item>
+ <item> get-pocket </item>
+ <item> gg </item>
+ <item> gg-circle </item>
+ <item> gift </item>
+ <item> git </item>
+ <item> git-square </item>
+ <item> github </item>
+ <item> github-alt </item>
+ <item> github-square </item>
+ <item> gitlab </item>
+ <item> gittip </item>
+ <item> glass </item>
+ <item> glide </item>
+ <item> glide-g </item>
+ <item> globe </item>
+ <item> google </item>
+ <item> google-plus </item>
+ <item> google-plus-circle </item>
+ <item> google-plus-official </item>
+ <item> google-plus-square </item>
+ <item> google-wallet </item>
+ <item> graduation-cap </item>
+ <item> gratipay </item>
+ <item> grav </item>
+ <item> group </item>
+ <item> h-square </item>
+ <item> hacker-news </item>
+ <item> hand-grab-o </item>
+ <item> hand-lizard-o </item>
+ <item> hand-o-down </item>
+ <item> hand-o-left </item>
+ <item> hand-o-right </item>
+ <item> hand-o-up </item>
+ <item> hand-paper-o </item>
+ <item> hand-peace-o </item>
+ <item> hand-pointer-o </item>
+ <item> hand-rock-o </item>
+ <item> hand-scissors-o </item>
+ <item> hand-spock-o </item>
+ <item> hand-stop-o </item>
+ <item> handshake-o </item>
+ <item> hard-of-hearing </item>
+ <item> hashtag </item>
+ <item> hdd-o </item>
+ <item> header </item>
+ <item> headphones </item>
+ <item> heart </item>
+ <item> heart-o </item>
+ <item> heartbeat </item>
+ <item> history </item>
+ <item> home </item>
+ <item> hospital-o </item>
+ <item> hotel </item>
+ <item> hourglass </item>
+ <item> hourglass-1 </item>
+ <item> hourglass-2 </item>
+ <item> hourglass-3 </item>
+ <item> hourglass-end </item>
+ <item> hourglass-half </item>
+ <item> hourglass-o </item>
+ <item> hourglass-start </item>
+ <item> houzz </item>
+ <item> html5 </item>
+ <item> i-cursor </item>
+ <item> id-badge </item>
+ <item> id-card </item>
+ <item> id-card-o </item>
+ <item> ils </item>
+ <item> image </item>
+ <item> imdb </item>
+ <item> inbox </item>
+ <item> indent </item>
+ <item> industry </item>
+ <item> info </item>
+ <item> info-circle </item>
+ <item> inr </item>
+ <item> instagram </item>
+ <item> institution </item>
+ <item> internet-explorer </item>
+ <item> intersex </item>
+ <item> ioxhost </item>
+ <item> italic </item>
+ <item> joomla </item>
+ <item> jpy </item>
+ <item> jsfiddle </item>
+ <item> key </item>
+ <item> keyboard-o </item>
+ <item> krw </item>
+ <item> language </item>
+ <item> laptop </item>
+ <item> lastfm </item>
+ <item> lastfm-square </item>
+ <item> leaf </item>
+ <item> leanpub </item>
+ <item> legal </item>
+ <item> lemon-o </item>
+ <item> level-down </item>
+ <item> level-up </item>
+ <item> life-bouy </item>
+ <item> life-buoy </item>
+ <item> life-ring </item>
+ <item> life-saver </item>
+ <item> lightbulb-o </item>
+ <item> line-chart </item>
+ <item> link </item>
+ <item> linkedin </item>
+ <item> linkedin-square </item>
+ <item> linode </item>
+ <item> linux </item>
+ <item> list </item>
+ <item> list-alt </item>
+ <item> list-ol </item>
+ <item> list-ul </item>
+ <item> location-arrow </item>
+ <item> lock </item>
+ <item> long-arrow-down </item>
+ <item> long-arrow-left </item>
+ <item> long-arrow-right </item>
+ <item> long-arrow-up </item>
+ <item> low-vision </item>
+ <item> magic </item>
+ <item> magnet </item>
+ <item> mail-forward </item>
+ <item> mail-reply </item>
+ <item> mail-reply-all </item>
+ <item> male </item>
+ <item> map </item>
+ <item> map-marker </item>
+ <item> map-o </item>
+ <item> map-pin </item>
+ <item> map-signs </item>
+ <item> mars </item>
+ <item> mars-double </item>
+ <item> mars-stroke </item>
+ <item> mars-stroke-h </item>
+ <item> mars-stroke-v </item>
+ <item> maxcdn </item>
+ <item> meanpath </item>
+ <item> medium </item>
+ <item> medkit </item>
+ <item> meetup </item>
+ <item> meh-o </item>
+ <item> mercury </item>
+ <item> microchip </item>
+ <item> microphone </item>
+ <item> microphone-slash </item>
+ <item> minus </item>
+ <item> minus-circle </item>
+ <item> minus-square </item>
+ <item> minus-square-o </item>
+ <item> mixcloud </item>
+ <item> mobile </item>
+ <item> mobile-phone </item>
+ <item> modx </item>
+ <item> money </item>
+ <item> moon-o </item>
+ <item> mortar-board </item>
+ <item> motorcycle </item>
+ <item> mouse-pointer </item>
+ <item> music </item>
+ <item> navicon </item>
+ <item> neuter </item>
+ <item> newspaper-o </item>
+ <item> object-group </item>
+ <item> object-ungroup </item>
+ <item> odnoklassniki </item>
+ <item> odnoklassniki-square </item>
+ <item> opencart </item>
+ <item> openid </item>
+ <item> opera </item>
+ <item> optin-monster </item>
+ <item> outdent </item>
+ <item> pagelines </item>
+ <item> paint-brush </item>
+ <item> paper-plane </item>
+ <item> paper-plane-o </item>
+ <item> paperclip </item>
+ <item> paragraph </item>
+ <item> paste </item>
+ <item> pause </item>
+ <item> pause-circle </item>
+ <item> pause-circle-o </item>
+ <item> paw </item>
+ <item> paypal </item>
+ <item> pencil </item>
+ <item> pencil-square </item>
+ <item> pencil-square-o </item>
+ <item> percent </item>
+ <item> phone </item>
+ <item> phone-square </item>
+ <item> photo </item>
+ <item> picture-o </item>
+ <item> pie-chart </item>
+ <item> pied-piper </item>
+ <item> pied-piper-alt </item>
+ <item> pied-piper-pp </item>
+ <item> pinterest </item>
+ <item> pinterest-p </item>
+ <item> pinterest-square </item>
+ <item> plane </item>
+ <item> play </item>
+ <item> play-circle </item>
+ <item> play-circle-o </item>
+ <item> plug </item>
+ <item> plus </item>
+ <item> plus-circle </item>
+ <item> plus-square </item>
+ <item> plus-square-o </item>
+ <item> podcast </item>
+ <item> power-off </item>
+ <item> print </item>
+ <item> product-hunt </item>
+ <item> puzzle-piece </item>
+ <item> qq </item>
+ <item> qrcode </item>
+ <item> question </item>
+ <item> question-circle </item>
+ <item> question-circle-o </item>
+ <item> quora </item>
+ <item> quote-left </item>
+ <item> quote-right </item>
+ <item> ra </item>
+ <item> random </item>
+ <item> ravelry </item>
+ <item> rebel </item>
+ <item> recycle </item>
+ <item> reddit </item>
+ <item> reddit-alien </item>
+ <item> reddit-square </item>
+ <item> refresh </item>
+ <item> registered </item>
+ <item> remove </item>
+ <item> renren </item>
+ <item> reorder </item>
+ <item> repeat </item>
+ <item> reply </item>
+ <item> reply-all </item>
+ <item> resistance </item>
+ <item> retweet </item>
+ <item> rmb </item>
+ <item> road </item>
+ <item> rocket </item>
+ <item> rotate-left </item>
+ <item> rotate-right </item>
+ <item> rouble </item>
+ <item> rss </item>
+ <item> rss-square </item>
+ <item> rub </item>
+ <item> ruble </item>
+ <item> rupee </item>
+ <item> s15 </item>
+ <item> safari </item>
+ <item> save </item>
+ <item> scissors </item>
+ <item> scribd </item>
+ <item> search </item>
+ <item> search-minus </item>
+ <item> search-plus </item>
+ <item> sellsy </item>
+ <item> send </item>
+ <item> send-o </item>
+ <item> server </item>
+ <item> share </item>
+ <item> share-alt </item>
+ <item> share-alt-square </item>
+ <item> share-square </item>
+ <item> share-square-o </item>
+ <item> shekel </item>
+ <item> sheqel </item>
+ <item> shield </item>
+ <item> ship </item>
+ <item> shirtsinbulk </item>
+ <item> shopping-bag </item>
+ <item> shopping-basket </item>
+ <item> shopping-cart </item>
+ <item> shower </item>
+ <item> sign-in </item>
+ <item> sign-language </item>
+ <item> sign-out </item>
+ <item> signal </item>
+ <item> signing </item>
+ <item> simplybuilt </item>
+ <item> sitemap </item>
+ <item> skyatlas </item>
+ <item> skype </item>
+ <item> slack </item>
+ <item> sliders </item>
+ <item> slideshare </item>
+ <item> smile-o </item>
+ <item> snapchat </item>
+ <item> snapchat-ghost </item>
+ <item> snapchat-square </item>
+ <item> snowflake-o </item>
+ <item> soccer-ball-o </item>
+ <item> sort </item>
+ <item> sort-alpha-asc </item>
+ <item> sort-alpha-desc </item>
+ <item> sort-amount-asc </item>
+ <item> sort-amount-desc </item>
+ <item> sort-asc </item>
+ <item> sort-desc </item>
+ <item> sort-down </item>
+ <item> sort-numeric-asc </item>
+ <item> sort-numeric-desc </item>
+ <item> sort-up </item>
+ <item> soundcloud </item>
+ <item> space-shuttle </item>
+ <item> spinner </item>
+ <item> spoon </item>
+ <item> spotify </item>
+ <item> square </item>
+ <item> square-o </item>
+ <item> stack-exchange </item>
+ <item> stack-overflow </item>
+ <item> star </item>
+ <item> star-half </item>
+ <item> star-half-empty </item>
+ <item> star-half-full </item>
+ <item> star-half-o </item>
+ <item> star-o </item>
+ <item> steam </item>
+ <item> steam-square </item>
+ <item> step-backward </item>
+ <item> step-forward </item>
+ <item> stethoscope </item>
+ <item> sticky-note </item>
+ <item> sticky-note-o </item>
+ <item> stop </item>
+ <item> stop-circle </item>
+ <item> stop-circle-o </item>
+ <item> street-view </item>
+ <item> strikethrough </item>
+ <item> stumbleupon </item>
+ <item> stumbleupon-circle </item>
+ <item> subscript </item>
+ <item> subway </item>
+ <item> suitcase </item>
+ <item> sun-o </item>
+ <item> superpowers </item>
+ <item> superscript </item>
+ <item> support </item>
+ <item> table </item>
+ <item> tablet </item>
+ <item> tachometer </item>
+ <item> tag </item>
+ <item> tags </item>
+ <item> tasks </item>
+ <item> taxi </item>
+ <item> telegram </item>
+ <item> television </item>
+ <item> tencent-weibo </item>
+ <item> terminal </item>
+ <item> text-height </item>
+ <item> text-width </item>
+ <item> th </item>
+ <item> th-large </item>
+ <item> th-list </item>
+ <item> themeisle </item>
+ <item> thermometer </item>
+ <item> thermometer-0 </item>
+ <item> thermometer-1 </item>
+ <item> thermometer-2 </item>
+ <item> thermometer-3 </item>
+ <item> thermometer-4 </item>
+ <item> thermometer-empty </item>
+ <item> thermometer-full </item>
+ <item> thermometer-half </item>
+ <item> thermometer-quarter </item>
+ <item> thermometer-three-quarters </item>
+ <item> thumb-tack </item>
+ <item> thumbs-down </item>
+ <item> thumbs-o-down </item>
+ <item> thumbs-o-up </item>
+ <item> thumbs-up </item>
+ <item> ticket </item>
+ <item> times </item>
+ <item> times-circle </item>
+ <item> times-circle-o </item>
+ <item> times-rectangle </item>
+ <item> times-rectangle-o </item>
+ <item> tint </item>
+ <item> toggle-down </item>
+ <item> toggle-left </item>
+ <item> toggle-off </item>
+ <item> toggle-on </item>
+ <item> toggle-right </item>
+ <item> toggle-up </item>
+ <item> trademark </item>
+ <item> train </item>
+ <item> transgender </item>
+ <item> transgender-alt </item>
+ <item> trash </item>
+ <item> trash-o </item>
+ <item> tree </item>
+ <item> trello </item>
+ <item> tripadvisor </item>
+ <item> trophy </item>
+ <item> truck </item>
+ <item> try </item>
+ <item> tty </item>
+ <item> tumblr </item>
+ <item> tumblr-square </item>
+ <item> turkish-lira </item>
+ <item> tv </item>
+ <item> twitch </item>
+ <item> twitter </item>
+ <item> twitter-square </item>
+ <item> umbrella </item>
+ <item> underline </item>
+ <item> undo </item>
+ <item> universal-access </item>
+ <item> university </item>
+ <item> unlink </item>
+ <item> unlock </item>
+ <item> unlock-alt </item>
+ <item> unsorted </item>
+ <item> upload </item>
+ <item> usb </item>
+ <item> usd </item>
+ <item> user </item>
+ <item> user-circle </item>
+ <item> user-circle-o </item>
+ <item> user-md </item>
+ <item> user-o </item>
+ <item> user-plus </item>
+ <item> user-secret </item>
+ <item> user-times </item>
+ <item> users </item>
+ <item> vcard </item>
+ <item> vcard-o </item>
+ <item> venus </item>
+ <item> venus-double </item>
+ <item> venus-mars </item>
+ <item> viacoin </item>
+ <item> viadeo </item>
+ <item> viadeo-square </item>
+ <item> video-camera </item>
+ <item> vimeo </item>
+ <item> vimeo-square </item>
+ <item> vine </item>
+ <item> vk </item>
+ <item> volume-control-phone </item>
+ <item> volume-down </item>
+ <item> volume-off </item>
+ <item> volume-up </item>
+ <item> warning </item>
+ <item> wechat </item>
+ <item> weibo </item>
+ <item> weixin </item>
+ <item> whatsapp </item>
+ <item> wheelchair </item>
+ <item> wheelchair-alt </item>
+ <item> wifi </item>
+ <item> wikipedia-w </item>
+ <item> window-close </item>
+ <item> window-close-o </item>
+ <item> window-maximize </item>
+ <item> window-minimize </item>
+ <item> window-restore </item>
+ <item> windows </item>
+ <item> won </item>
+ <item> wordpress </item>
+ <item> wpbeginner </item>
+ <item> wpexplorer </item>
+ <item> wpforms </item>
+ <item> wrench </item>
+ <item> xing </item>
+ <item> xing-square </item>
+ <item> y-combinator </item>
+ <item> y-combinator-square </item>
+ <item> yahoo </item>
+ <item> yc </item>
+ <item> yc-square </item>
+ <item> yelp </item>
+ <item> yen </item>
+ <item> yoast </item>
+ <item> youtube </item>
+ <item> youtube-play </item>
+ <item> youtube-square </item>
+ </string-array>
-</resources> \ No newline at end of file
+</resources>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/colorpicker.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/colorpicker.xml
new file mode 100644
index 0000000..3be024e
--- /dev/null
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/colorpicker.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2007 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<resources>
+ <string name="pref_summary_drawer_color">Set the color for the drawer background</string>
+ <string name="pref_dialog_title_color_picker">Pick a color.</string>
+ <string name="pref_dialog_color_picker_alpha">alpha</string>
+ <string name="pref_dialog_message_color_picker">Tap on center color to confirm.\nPress back to cancel.</string>
+</resources> \ No newline at end of file
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/dimens.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/dimens.xml
index 1ee0176..16758e5 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/dimens.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/dimens.xml
@@ -4,4 +4,6 @@
<dimen name="item_margin">0dp</dimen>
<dimen name="item_inset">2dp</dimen>
<dimen name="recycler_height">200dp</dimen>
+ <dimen name="color_picker_center">90dip</dimen>
+ <dimen name="color_picker_radius">30dip</dimen>
</resources>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/font.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/font.xml
deleted file mode 100644
index 554cc96..0000000
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/font.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-
-<resources>
- <string-array name="font">
- <item> 500px</item>
- <item> address-book</item>
- <item> address-book-o</item>
- <item> address-card</item>
- <item> address-card-o</item>
- <item> adjust</item>
- <item> adn</item>
- </string-array>
-</resources>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/strings.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/strings.xml
index 4f62261..433f581 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/strings.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/strings.xml
@@ -560,4 +560,26 @@
<string name="permission_rationale">The app needs Storage permissions to import/export.</string>
<string name="remote_keys_imported">Remote Keys imported: %1$s</string>
<string name="remote_nothing_to_import" >No custom mapping…</string>
+ <string name="reset">Reset</string>
+ <string name="back">Back</string>
+ <string name="ok">OK</string>
+ <string name="f061"></string>
+ <string name="f060"></string>
+ <string name="f062"></string>
+ <string name="remotesquares"></string>
+ <string name="fa_mute"></string>
+ <string name="f129"></string>
+ <string name="f177"></string>
+ <string name="f0c9"></string>
+ <string name="f0e2"></string>
+ <string name="f120"></string>
+ <string name="f027"></string>
+ <string name="f0ab"></string>
+ <string name="f063"></string>
+ <string name="f028"></string>
+ <string name="f0aa"></string>
+ <string name="f085"></string>
+ <string name="fa_power_off"></string>
+ <string name="fa_bars"></string>
+ <string name="f025"></string>
</resources>
diff --git a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/styles.xml b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/styles.xml
index 8ab89d1..f028cdc 100644
--- a/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/styles.xml
+++ b/vdrmanager/de.bjusystems.vdrmanager/src/main/res/values/styles.xml
@@ -84,7 +84,7 @@
<style name="AppTheme" parent="@style/Base.Theme.AppCompat" />
<style name="cursorButton">
- <item name="android:layout_width">70dp</item>
+ <item name="android:layout_width">50dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_margin">5dp</item>
</style>