aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornchalko <nchalko@google.com>2019-06-10 11:48:13 -0700
committerNick Chalko <nchalko@google.com>2019-06-11 16:07:21 -0700
commit3b7a3f36a7136cdc741e4e0a6ef6d8826a817f6f (patch)
tree35b976e82504499a742c3a4fe271664f1e21bf51
parent02b7e6dab60c1acee39925c462e0d0cf2514c319 (diff)
downloadTV-temp_b_135118009.tar.gz
CLEANUP: Remove launched use_leanback_pin_picker flagtemp_b_135118009
Startblock: b/131597163 is fixed and then 12d have passed PiperOrigin-RevId: 252451548 Change-Id: Ice166e20ad67ee425fed3866da231e5b6648fb54
-rwxr-xr-xcommon/src/com/android/tv/common/flags/UiFlags.java3
-rw-r--r--common/src/com/android/tv/common/flags/impl/DefaultUiFlags.java5
-rw-r--r--res/layout/pin_dialog.xml10
-rw-r--r--src/com/android/tv/dialog/PinDialogFragment.java44
-rw-r--r--src/com/android/tv/dialog/picker/PinPicker.java145
5 files changed, 11 insertions, 196 deletions
diff --git a/common/src/com/android/tv/common/flags/UiFlags.java b/common/src/com/android/tv/common/flags/UiFlags.java
index 67a98492..73349be4 100755
--- a/common/src/com/android/tv/common/flags/UiFlags.java
+++ b/common/src/com/android/tv/common/flags/UiFlags.java
@@ -38,7 +38,4 @@ public interface UiFlags {
/** Unhide the launcher all the time */
boolean uhideLauncher();
-
- /** Use the Leanback Pin Picker */
- boolean useLeanbackPinPicker();
}
diff --git a/common/src/com/android/tv/common/flags/impl/DefaultUiFlags.java b/common/src/com/android/tv/common/flags/impl/DefaultUiFlags.java
index 137615b9..2746485c 100644
--- a/common/src/com/android/tv/common/flags/impl/DefaultUiFlags.java
+++ b/common/src/com/android/tv/common/flags/impl/DefaultUiFlags.java
@@ -36,11 +36,6 @@ public class DefaultUiFlags implements UiFlags {
}
@Override
- public boolean useLeanbackPinPicker() {
- return true;
- }
-
- @Override
public long maxHistoryDays() {
return 0;
}
diff --git a/res/layout/pin_dialog.xml b/res/layout/pin_dialog.xml
index c9d94509..84807f27 100644
--- a/res/layout/pin_dialog.xml
+++ b/res/layout/pin_dialog.xml
@@ -55,16 +55,6 @@
android:fontFamily="@string/font"
android:singleLine="false" />
- <com.android.tv.dialog.picker.PinPicker
- android:id="@+id/pin_picker"
- android:importantForAccessibility="yes"
- android:layout_width="match_parent"
- android:layout_height="154dp"
- android:paddingStart="24dp"
- android:paddingEnd="24dp"
- android:gravity="center"
- />
-
<com.android.tv.dialog.picker.TvPinPicker
android:id="@+id/tv_pin_picker"
android:importantForAccessibility="yes"
diff --git a/src/com/android/tv/dialog/PinDialogFragment.java b/src/com/android/tv/dialog/PinDialogFragment.java
index ad245fad..c7145583 100644
--- a/src/com/android/tv/dialog/PinDialogFragment.java
+++ b/src/com/android/tv/dialog/PinDialogFragment.java
@@ -35,7 +35,6 @@ import android.widget.TextView;
import android.widget.Toast;
import com.android.tv.R;
import com.android.tv.common.SoftPreconditions;
-import com.android.tv.dialog.picker.PinPicker;
import com.android.tv.dialog.picker.TvPinPicker;
import com.android.tv.util.TvInputManagerHelper;
import com.android.tv.util.TvSettings;
@@ -86,7 +85,6 @@ public class PinDialogFragment extends SafeDismissDialogFragment {
private View mEnterPinView;
private TextView mTitleView;
- private PinPicker mPicker;
private TvPinPicker mTvPinPicker;
private SharedPreferences mSharedPreferences;
private String mPrevPin;
@@ -169,27 +167,14 @@ public class PinDialogFragment extends SafeDismissDialogFragment {
mWrongPinView = (TextView) v.findViewById(R.id.wrong_pin);
mEnterPinView = v.findViewById(R.id.enter_pin);
mTitleView = (TextView) mEnterPinView.findViewById(R.id.title);
- mPicker = v.findViewById(R.id.pin_picker);
mTvPinPicker = v.findViewById(R.id.tv_pin_picker);
- if (!mUiFlags.useLeanbackPinPicker()) {
- mTvPinPicker.setVisibility(View.GONE);
- mPicker.setOnClickListener(
- view -> {
- String pin = getPinInput();
- if (!TextUtils.isEmpty(pin)) {
- done(pin);
- }
- });
- } else {
- mPicker.setVisibility(View.GONE);
- mTvPinPicker.setOnClickListener(
- view -> {
- String pin = getPinInput();
- if (!TextUtils.isEmpty(pin)) {
- done(pin);
- }
- });
- }
+ mTvPinPicker.setOnClickListener(
+ view -> {
+ String pin = getPinInput();
+ if (!TextUtils.isEmpty(pin)) {
+ done(pin);
+ }
+ });
if (TextUtils.isEmpty(getPin())) {
// If PIN isn't set, user should set a PIN.
// Successfully setting a new set is considered as entering correct PIN.
@@ -231,11 +216,8 @@ public class PinDialogFragment extends SafeDismissDialogFragment {
if (mType != PIN_DIALOG_TYPE_NEW_PIN) {
updateWrongPin();
}
- if (!mUiFlags.useLeanbackPinPicker()) {
- mPicker.requestFocus();
- } else {
- mTvPinPicker.requestFocus();
- }
+
+ mTvPinPicker.requestFocus();
return v;
}
@@ -369,15 +351,11 @@ public class PinDialogFragment extends SafeDismissDialogFragment {
}
private String getPinInput() {
- return (mUiFlags.useLeanbackPinPicker() ? mTvPinPicker.getPin() : mPicker.getPinInput());
+ return mTvPinPicker.getPin();
}
private void resetPinInput() {
- if (!mUiFlags.useLeanbackPinPicker()) {
- mPicker.resetPinInput();
- } else {
- mTvPinPicker.resetPin();
- }
+ mTvPinPicker.resetPin();
}
/**
diff --git a/src/com/android/tv/dialog/picker/PinPicker.java b/src/com/android/tv/dialog/picker/PinPicker.java
deleted file mode 100644
index 7af62585..00000000
--- a/src/com/android/tv/dialog/picker/PinPicker.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2018 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 com.android.tv.dialog.picker;
-
-import static android.content.Context.ACCESSIBILITY_SERVICE;
-
-import android.content.Context;
-import android.support.annotation.Nullable;
-import android.support.annotation.VisibleForTesting;
-import androidx.leanback.widget.picker.Picker;
-import androidx.leanback.widget.picker.PickerColumn;
-import android.util.AttributeSet;
-import android.view.KeyEvent;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.accessibility.AccessibilityManager;
-import java.util.ArrayList;
-import java.util.List;
-
-/** 4 digit picker */
-public final class PinPicker extends Picker {
- // TODO(b/116144491): use leanback pin picker.
-
- private final List<PickerColumn> mPickers = new ArrayList<>();
- private OnClickListener mOnClickListener;
- private boolean mSkipPerformClick = true;
- private boolean mIsAccessibilityEnabled = false;
-
- // the version of picker I link to does not have this constructor
- public PinPicker(Context context, AttributeSet attributeSet) {
- this(context, attributeSet, 0);
- }
-
- public PinPicker(Context context, AttributeSet attributeSet, int defStyleAttr) {
- super(context, attributeSet, defStyleAttr);
-
- for (int i = 0; i < 4; i++) {
- PickerColumn pickerColumn = new PickerColumn();
- pickerColumn.setMinValue(0);
- pickerColumn.setMaxValue(9);
- pickerColumn.setLabelFormat("%d");
- mPickers.add(pickerColumn);
- }
- setSeparator(" ");
- setColumns(mPickers);
- setActivated(true);
- setFocusable(true);
- AccessibilityManager am =
- (AccessibilityManager) context.getSystemService(ACCESSIBILITY_SERVICE);
- mIsAccessibilityEnabled = am.isEnabled();
- super.setOnClickListener(this::onClick);
- }
-
- public String getPinInput() {
- String result = "";
- try {
- for (PickerColumn column : mPickers) {
-
- result += column.getCurrentValue();
- }
- } catch (IllegalStateException e) {
- result = "";
- }
- return result;
- }
-
- @Override
- public void setOnClickListener(@Nullable OnClickListener l) {
- mOnClickListener = l;
- }
-
- private void onClick(View v) {
- int selectedColumn = getSelectedColumn();
- // (b/120096347) Skip first click when talkback is enabled
- if (mSkipPerformClick && mIsAccessibilityEnabled) {
- mSkipPerformClick = false;
- /* Force focus to next value */
- setColumnValue(selectedColumn, 1, true);
- }
- int nextColumn = selectedColumn + 1;
- // Only call the click listener if we are on the last column
- // Otherwise move to the next column
- if (nextColumn == getColumnsCount()) {
- if (mOnClickListener != null) {
- mOnClickListener.onClick(v);
- }
- } else {
- setSelectedColumn(nextColumn);
- onRequestFocusInDescendants(ViewGroup.FOCUS_FORWARD, null);
- }
- }
-
- public void resetPinInput() {
- setActivated(false);
- for (int i = 0; i < 4; i++) {
- setColumnValue(i, 0, true);
- }
- setSelectedColumn(0);
- setActivated(true); // This resets the focus
- }
-
- @Override
- public boolean dispatchKeyEvent(KeyEvent event) {
- if (event.getAction() == KeyEvent.ACTION_UP) {
- int keyCode = event.getKeyCode();
- int digit = digitFromKeyCode(keyCode);
- if (digit != -1) {
- int selectedColumn = getSelectedColumn();
- setColumnValue(selectedColumn, digit, false);
- int nextColumn = selectedColumn + 1;
- if (nextColumn < getColumnsCount()) {
- setSelectedColumn(nextColumn);
- onRequestFocusInDescendants(ViewGroup.FOCUS_FORWARD, null);
- } else {
- callOnClick();
- }
- return true;
- }
- }
- return super.dispatchKeyEvent(event);
- }
-
- @VisibleForTesting
- static int digitFromKeyCode(int keyCode) {
- if (keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) {
- return keyCode - KeyEvent.KEYCODE_0;
- } else if (keyCode >= KeyEvent.KEYCODE_NUMPAD_0 && keyCode <= KeyEvent.KEYCODE_NUMPAD_9) {
- return keyCode - KeyEvent.KEYCODE_NUMPAD_0;
- }
- return -1;
- }
-}