diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/app/KeyguardManager.java | 46 | ||||
-rw-r--r-- | core/java/android/content/Intent.java | 23 | ||||
-rw-r--r-- | core/java/android/widget/TextView.java | 4 | ||||
-rw-r--r-- | core/res/res/color/primary_text_leanback_formwizard_dark.xml | 22 | ||||
-rw-r--r-- | core/res/res/values/colors_leanback.xml | 1 | ||||
-rw-r--r-- | core/res/res/values/dimens_leanback.xml | 19 | ||||
-rw-r--r-- | core/res/res/values/styles_leanback.xml | 6 | ||||
-rw-r--r-- | core/res/res/values/themes_leanback.xml | 1 |
8 files changed, 94 insertions, 28 deletions
diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java index db91742a..50e3a10 100644 --- a/core/java/android/app/KeyguardManager.java +++ b/core/java/android/app/KeyguardManager.java @@ -16,6 +16,7 @@ package android.app; +import android.content.Intent; import android.os.Binder; import android.os.RemoteException; import android.os.IBinder; @@ -24,7 +25,7 @@ import android.view.IOnKeyguardExitResult; import android.view.WindowManagerGlobal; /** - * Class that can be used to lock and unlock the keyboard. Get an instance of this + * Class that can be used to lock and unlock the keyboard. Get an instance of this * class by calling {@link android.content.Context#getSystemService(java.lang.String)} * with argument {@link android.content.Context#KEYGUARD_SERVICE}. The * actual class to control the keyboard locking is @@ -34,6 +35,45 @@ public class KeyguardManager { private IWindowManager mWM; /** + * Intent used to prompt user for device credentials. + * @hide + */ + public static final String ACTION_CONFIRM_DEVICE_CREDENTIAL = + "android.app.action.CONFIRM_DEVICE_CREDENTIAL"; + + /** + * A CharSequence dialog title to show to the user when used with a + * {@link #ACTION_CONFIRM_DEVICE_CREDENTIAL}. + * @hide + */ + public static final String EXTRA_TITLE = "android.app.extra.TITLE"; + + /** + * A CharSequence description to show to the user when used with + * {@link #ACTION_CONFIRM_DEVICE_CREDENTIAL}. + * @hide + */ + public static final String EXTRA_DESCRIPTION = "android.app.extra.DESCRIPTION"; + + /** + * Get an intent to prompt the user to confirm credentials (pin, pattern or password) + * for the current user of the device. The caller is expected to launch this activity using + * {@link android.app.Activity#startActivityForResult(Intent, int)} and check for + * {@link android.app.Activity#RESULT_OK} if the user successfully completes the challenge. + * + * @return the intent for launching the activity or null if no password is required. + **/ + public Intent getConfirmDeviceCredentialIntent(CharSequence title, CharSequence description) { + if (!isKeyguardSecure()) return null; + Intent intent = new Intent(ACTION_CONFIRM_DEVICE_CREDENTIAL); + intent.putExtra(EXTRA_TITLE, title); + intent.putExtra(EXTRA_DESCRIPTION, description); + // For security reasons, only allow this to come from system settings. + intent.setPackage("com.android.settings"); + return intent; + } + + /** * @deprecated Use {@link android.view.WindowManager.LayoutParams#FLAG_DISMISS_KEYGUARD} * and/or {@link android.view.WindowManager.LayoutParams#FLAG_SHOW_WHEN_LOCKED} * instead; this allows you to seamlessly hide the keyguard as your application @@ -58,7 +98,7 @@ public class KeyguardManager { * * A good place to call this is from {@link android.app.Activity#onResume()} * - * Note: This call has no effect while any {@link android.app.admin.DevicePolicyManager} + * Note: This call has no effect while any {@link android.app.admin.DevicePolicyManager} * is enabled that requires a password. * * <p>This method requires the caller to hold the permission @@ -121,7 +161,7 @@ public class KeyguardManager { * permissions be requested. * * Enables you to lock or unlock the keyboard. Get an instance of this class by - * calling {@link android.content.Context#getSystemService(java.lang.String) Context.getSystemService()}. + * calling {@link android.content.Context#getSystemService(java.lang.String) Context.getSystemService()}. * This class is wrapped by {@link android.app.KeyguardManager KeyguardManager}. * @param tag A tag that informally identifies who you are (for debugging who * is disabling he keyguard). diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index abe4f0a..61e105b 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1419,21 +1419,6 @@ public class Intent implements Parcelable, Cloneable { public static final String ACTION_UNINSTALL_PACKAGE = "android.intent.action.UNINSTALL_PACKAGE"; /** - * Activity Action: Prompt the user to confirm credentials (pin, pattern or password) - * for the current user of the device. Launch this activity using - * {@link android.app.Activity#startActivityForResult(Intent, int)} and check if the - * result is {@link android.app.Activity#RESULT_OK} for a successful response to the - * challenge.<p/> - * This intent is handled by the system at a high priority and applications cannot intercept - * it.<p/> - * You can use {@link android.app.KeyguardManager#isKeyguardSecure()} to determine if the user will be - * prompted. - */ - @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) - public static final String ACTION_CONFIRM_DEVICE_CREDENTIAL = "android.intent.action.CONFIRM_DEVICE_CREDENTIAL"; - - - /** * Specify whether the package should be uninstalled for all users. * @hide because these should not be part of normal application flow. */ @@ -3192,17 +3177,11 @@ public class Intent implements Parcelable, Cloneable { /** * A CharSequence dialog title to provide to the user when used with a - * {@link #ACTION_CHOOSER} or {@link #ACTION_CONFIRM_DEVICE_CREDENTIAL}. + * {@link #ACTION_CHOOSER}. */ public static final String EXTRA_TITLE = "android.intent.extra.TITLE"; /** - * A CharSequence description to provide to the user when used with - * {@link #ACTION_CONFIRM_DEVICE_CREDENTIAL}. - */ - public static final String EXTRA_DETAILS = "android.intent.extra.DETAILS"; - - /** * A Parcelable[] of {@link Intent} or * {@link android.content.pm.LabeledIntent} objects as set with * {@link #putExtra(String, Parcelable[])} of additional activities to place diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a536b2d..a82fa65 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -1320,8 +1320,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener attrs, com.android.internal.R.styleable.View, defStyleAttr, defStyleRes); boolean focusable = mMovement != null || getKeyListener() != null; - boolean clickable = focusable; - boolean longClickable = focusable; + boolean clickable = focusable || isClickable(); + boolean longClickable = focusable || isLongClickable(); n = a.getIndexCount(); for (int i = 0; i < n; i++) { diff --git a/core/res/res/color/primary_text_leanback_formwizard_dark.xml b/core/res/res/color/primary_text_leanback_formwizard_dark.xml new file mode 100644 index 0000000..8fe02b2 --- /dev/null +++ b/core/res/res/color/primary_text_leanback_formwizard_dark.xml @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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. +--> + +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_enabled="false" + android:alpha="@dimen/disabled_alpha_leanback_formwizard" + android:color="@color/primary_text_leanback_formwizard_default_dark"/> + <item android:color="@color/primary_text_leanback_formwizard_default_dark"/> +</selector> diff --git a/core/res/res/values/colors_leanback.xml b/core/res/res/values/colors_leanback.xml index dc0c673..e52a861 100644 --- a/core/res/res/values/colors_leanback.xml +++ b/core/res/res/values/colors_leanback.xml @@ -25,4 +25,5 @@ <color name="primary_text_leanback_light">#cc222222</color> <color name="secondary_text_leanback_light">#99222222</color> + <color name="primary_text_leanback_formwizard_default_dark">#ffeeeeee</color> </resources> diff --git a/core/res/res/values/dimens_leanback.xml b/core/res/res/values/dimens_leanback.xml new file mode 100644 index 0000000..fb5f8f0 --- /dev/null +++ b/core/res/res/values/dimens_leanback.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2014 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> + <!-- Default alpha value for disabled elements. --> + <item name="disabled_alpha_leanback_formwizard" format="float" type="dimen">0.2</item> +</resources> diff --git a/core/res/res/values/styles_leanback.xml b/core/res/res/values/styles_leanback.xml index 256ef00..72735f7 100644 --- a/core/res/res/values/styles_leanback.xml +++ b/core/res/res/values/styles_leanback.xml @@ -39,25 +39,29 @@ <style name="TextAppearance.Leanback.FormWizard" parent="@style/TextAppearance.Material"> <item name="textSize">18sp</item> <item name="fontFamily">sans-serif-light</item> + <item name="textColor">?attr/textColorPrimary</item> </style> <style name="TextAppearance.Leanback.FormWizard.Small" parent="@style/TextAppearance.Material.Small"> <item name="textSize">18sp</item> <item name="fontFamily">sans-serif-light</item> + <item name="textColor">?attr/textColorPrimary</item> </style> <style name="TextAppearance.Leanback.FormWizard.Medium" parent="@style/TextAppearance.Material.Medium"> <item name="textSize">36sp</item> <item name="fontFamily">sans-serif-thin</item> + <item name="textColor">?attr/textColorPrimary</item> </style> <style name="TextAppearance.Leanback.FormWizard.Large" parent="@style/TextAppearance.Material.Large"> <item name="textSize">56sp</item> <item name="fontFamily">sans-serif-thin</item> + <item name="textColor">?attr/textColorPrimary</item> </style> <style name="TextAppearance.Leanback.FormWizard.ListItem" parent="@style/TextAppearance.Material.Subhead"> - <item name="textSize">18sp</item> + <item name="textSize">16sp</item> <item name="fontFamily">sans-serif-condensed</item> </style> diff --git a/core/res/res/values/themes_leanback.xml b/core/res/res/values/themes_leanback.xml index 321b827..1cda843 100644 --- a/core/res/res/values/themes_leanback.xml +++ b/core/res/res/values/themes_leanback.xml @@ -57,5 +57,6 @@ <item name="textAppearanceLarge">@style/TextAppearance.Leanback.FormWizard.Large</item> <item name="textAppearanceListItem">@style/TextAppearance.Leanback.FormWizard.ListItem</item> <item name="textAppearance">@style/TextAppearance.Leanback.FormWizard</item> + <item name="textColorPrimary">@color/primary_text_leanback_formwizard_dark</item> </style> </resources> |