diff options
author | lado <herrlado@gmail.com> | 2019-10-10 23:00:02 +0200 |
---|---|---|
committer | lado <herrlado@gmail.com> | 2019-10-10 23:00:02 +0200 |
commit | c2ce599d38e1ea8027df0fb7b5b76d0d42432db5 (patch) | |
tree | 8769381bbfcd858cfadd5d4e722427919b42d765 /vdrmanager | |
parent | f7e4be33ef77323b30af6753957d5a62cf80d46a (diff) | |
download | vdr-manager-c2ce599d38e1ea8027df0fb7b5b76d0d42432db5.tar.gz vdr-manager-c2ce599d38e1ea8027df0fb7b5b76d0d42432db5.tar.bz2 |
remote control
Diffstat (limited to 'vdrmanager')
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 Binary files differindex 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 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 Binary files differnew file mode 100644 index 0000000..f1c2786 --- /dev/null +++ b/vdrmanager/de.bjusystems.vdrmanager/release/de.bjusystems.vdrmanager-release_12760.apk 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 Binary files differindex 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 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="" + 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="" /> + </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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" + 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="" /> + + + <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="" /> + + <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="" /> + + + <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="" /> + + </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="" /> + + + <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="" /> + + + <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="" /> + </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="" /> + <de.androvdr.widget.FontAwesomeButton + android:id="@+id/hitkLabelColorPicker" + android:layout_width="wrap_content" + android:textColor="@color/yellow" + android:layout_height="wrap_content" + android:text="" /> + + + + </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="" - 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="▶" android:layout_centerVertical="true" + android:layout_toEndOf="@+id/up" android:layout_toRightOf="@+id/up" - android:layout_toEndOf="@+id/up" /> + android:tag="Right" + android:text="" /> <de.androvdr.widget.SquareButton android:id="@+id/left" style="@style/cursorButton" - android:tag="Left" - android:text="◀" android:layout_centerVertical="true" android:layout_toLeftOf="@+id/ok" - android:layout_toStartOf="@+id/ok" /> + android:layout_toStartOf="@+id/ok" + android:tag="Left" + android:text="" /> <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="▲" - android:layout_above="@+id/ok" - android:layout_centerHorizontal="true" /> + android:text="" /> <de.androvdr.widget.FontAwesomeButton android:id="@+id/ChannelUp" style="@style/volChanButton" - android:tag="Channel+" - android:text="" - 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="" /> <de.androvdr.widget.FontAwesomeButton android:id="@+id/VolumeUp" style="@style/volChanButton" android:layout_height="wrap_content" - android:tag="Volume+" - android:text="" - 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="" /> <de.androvdr.widget.SquareButton android:id="@+id/down" style="@style/cursorButton" - android:layout_gravity="center_horizontal" - - android:tag="Down" - android:text="▼" 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="" /> <de.androvdr.widget.FontAwesomeButton android:id="@+id/ChannelDown" style="@style/volChanButton" - android:tag="Channel-" - android:text="" android:layout_alignBottom="@+id/down" + android:layout_alignParentEnd="true" android:layout_alignParentRight="true" - android:layout_alignParentEnd="true" /> + android:tag="Channel-" + android:text="" /> <de.androvdr.widget.FontAwesomeButton android:id="@+id/VolumeDown" style="@style/volChanButton" - android:tag="Volume-" - android:text="" android:layout_alignBottom="@+id/down" android:layout_alignParentLeft="true" - android:layout_alignParentStart="true" /> + android:layout_alignParentStart="true" + android:tag="Volume-" + android:text="" /> </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="" - 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="" 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="" - 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="" - 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="" /> + 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="" /> + 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> |