Uses recycler view to add a line at the top in the intro

Also, adjusts the divider insets as appropriate for settings and setup
wizard.

bug:27591940
Change-Id: I7aeefd6d1bfe94c97f686e81bc045d31e878655f
This commit is contained in:
Udam Saini
2016-03-10 14:19:27 -08:00
parent dccc582d26
commit fd17eb4315
4 changed files with 20 additions and 13 deletions

View File

@@ -15,7 +15,7 @@
limitations under the License limitations under the License
--> -->
<com.android.setupwizardlib.SetupWizardItemsLayout <com.android.setupwizardlib.SetupWizardRecyclerLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/setup_wizard_layout" android:id="@+id/setup_wizard_layout"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@@ -95,8 +95,7 @@ public abstract class FingerprintEnrollBase extends InstrumentedActivity
} }
protected void setHeaderText(int resId, boolean force) { protected void setHeaderText(int resId, boolean force) {
TextView layoutTitle = (TextView) getSetupWizardLayout().findViewById( TextView layoutTitle = getSetupWizardLayout().getHeaderTextView();
R.id.suw_layout_title);
CharSequence previousTitle = layoutTitle.getText(); CharSequence previousTitle = layoutTitle.getText();
CharSequence title = getText(resId); CharSequence title = getText(resId);
if (previousTitle != title || force) { if (previousTitle != title || force) {

View File

@@ -41,15 +41,16 @@ import com.android.settings.ChooseLockGeneric;
import com.android.settings.ChooseLockSettingsHelper; import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.HelpUtils; import com.android.settings.HelpUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.setupwizardlib.SetupWizardItemsLayout; import com.android.setupwizardlib.SetupWizardRecyclerLayout;
import com.android.setupwizardlib.items.IItem;
import com.android.setupwizardlib.items.Item; import com.android.setupwizardlib.items.Item;
import com.android.setupwizardlib.items.ItemAdapter; import com.android.setupwizardlib.items.RecyclerItemAdapter;
/** /**
* Onboarding activity for fingerprint enrollment. * Onboarding activity for fingerprint enrollment.
*/ */
public class FingerprintEnrollIntroduction extends FingerprintEnrollBase public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
implements AdapterView.OnItemClickListener { implements RecyclerItemAdapter.OnItemSelectedListener {
protected static final int CHOOSE_LOCK_GENERIC_REQUEST = 1; protected static final int CHOOSE_LOCK_GENERIC_REQUEST = 1;
protected static final int FINGERPRINT_FIND_SENSOR_REQUEST = 2; protected static final int FINGERPRINT_FIND_SENSOR_REQUEST = 2;
@@ -62,14 +63,18 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.fingerprint_enroll_introduction); setContentView(R.layout.fingerprint_enroll_introduction);
setHeaderText(R.string.security_settings_fingerprint_enroll_introduction_title); setHeaderText(R.string.security_settings_fingerprint_enroll_introduction_title);
final SetupWizardItemsLayout layout = final SetupWizardRecyclerLayout layout =
(SetupWizardItemsLayout) findViewById(R.id.setup_wizard_layout); (SetupWizardRecyclerLayout) findViewById(R.id.setup_wizard_layout);
layout.getListView().setOnItemClickListener(this); final RecyclerItemAdapter adapter = (RecyclerItemAdapter) layout.getAdapter();
final ItemAdapter adapter = (ItemAdapter) layout.getAdapter(); adapter.setOnItemSelectedListener(this);
Item item = (Item) adapter.findItemById(R.id.fingerprint_introduction_message); Item item = (Item) adapter.findItemById(R.id.fingerprint_introduction_message);
item.setTitle(LearnMoreSpan.linkify( item.setTitle(LearnMoreSpan.linkify(
getText(R.string.security_settings_fingerprint_enroll_introduction_message), getText(R.string.security_settings_fingerprint_enroll_introduction_message),
getString(R.string.help_url_fingerprint))); getString(R.string.help_url_fingerprint)));
// setupwizard library automatically sets the divider inset to
// R.dimen.suw_items_icon_divider_inset. We adjust this back to 0 as we do not want
// an inset within settings.
layout.setDividerInset(0);
updatePasswordQuality(); updatePasswordQuality();
} }
@@ -148,9 +153,8 @@ public class FingerprintEnrollIntroduction extends FingerprintEnrollBase
} }
@Override @Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { public void onItemSelected(IItem item) {
final Item item = (Item) parent.getItemAtPosition(position); switch (((Item) item).getId()) {
switch (item.getId()) {
case R.id.next_button: case R.id.next_button:
onNextButtonClick(); onNextButtonClick();
break; break;

View File

@@ -28,6 +28,7 @@ import com.android.internal.widget.LockPatternUtils;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SetupChooseLockGeneric; import com.android.settings.SetupChooseLockGeneric;
import com.android.settings.SetupWizardUtils; import com.android.settings.SetupWizardUtils;
import com.android.setupwizardlib.SetupWizardRecyclerLayout;
import com.android.setupwizardlib.view.NavigationBar; import com.android.setupwizardlib.view.NavigationBar;
public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntroduction
@@ -60,6 +61,9 @@ public class SetupFingerprintEnrollIntroduction extends FingerprintEnrollIntrodu
Button nextButton = getNavigationBar().getNextButton(); Button nextButton = getNavigationBar().getNextButton();
nextButton.setText(null); nextButton.setText(null);
nextButton.setEnabled(false); nextButton.setEnabled(false);
SetupWizardRecyclerLayout layout = (SetupWizardRecyclerLayout) getSetupWizardLayout();
layout.setDividerInset(getResources().getDimensionPixelSize(
R.dimen.suw_items_icon_divider_inset));
} }
@Override @Override