Merge "Position fingerprint progress in the center on landscape" into nyc-mr1-dev
diff --git a/res/layout/dashboard.xml b/res/layout/dashboard.xml
index f1bf259..73a7255 100644
--- a/res/layout/dashboard.xml
+++ b/res/layout/dashboard.xml
@@ -25,4 +25,5 @@
android:paddingStart="@dimen/dashboard_padding_start"
android:paddingEnd="@dimen/dashboard_padding_end"
android:paddingTop="@dimen/dashboard_padding_top"
- android:paddingBottom="@dimen/dashboard_padding_bottom"/>
+ android:paddingBottom="@dimen/dashboard_padding_bottom"
+ android:scrollbars="vertical"/>
diff --git a/res/layout/support_offline_escalation_options.xml b/res/layout/support_offline_escalation_options.xml
index 08c52aa..18d8f98 100644
--- a/res/layout/support_offline_escalation_options.xml
+++ b/res/layout/support_offline_escalation_options.xml
@@ -59,7 +59,8 @@
style="@style/SupportPrimaryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_margin="8dp"/>
+ android:layout_margin="8dp"
+ android:layoutDirection="ltr"/>
<Button
android:id="@android:id/text2"
style="@style/SupportSecondaryButton"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 9b8614a..cc3ee44 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -833,11 +833,6 @@
<!-- Text shown in fingerprint enroll when we didn't observe progress for a few seconds. [CHAR LIMIT=100] -->
<string name="security_settings_fingerprint_enroll_lift_touch_again">Lift finger, then touch sensor again</string>
- <!-- Message shown in fingerprint enrollment during setup wizard once enrollment is complete. [CHAR LIMIT=NONE] -->
- <string name="setup_fingerprint_enroll_finish_message">Whenever you see this icon, you can use your fingerprint.</string>
- <!-- Secondary message shown in fingerprint enrollment during setup wizard once enrollment is complete, telling the user how to change the settings after they are done with setup. [CHAR LIMIT=NONE] -->
- <string name="setup_fingerprint_enroll_finish_secondary_message">To change your settings, go to Settings > Security > Fingerprint.</string>
-
<!-- Text shown when "Add fingerprint" button is disabled -->
<string name="fingerprint_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> fingerprints</string>
diff --git a/res/values/themes.xml b/res/values/themes.xml
index e861113..0009bed 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -99,6 +99,7 @@
<item name="@dropdownPreferenceStyle">@style/Preference.DropDown.Material</item>
<item name="@android:preferenceFragmentStyle">@style/PreferenceFragmentStyle</item>
<item name="apnPreferenceStyle">@style/ApnPreference</item>
+ <item name="android:scrollbars">vertical</item>
</style>
<style name="PreferenceTheme.SetupWizard" parent="SetupWizardTheme">
diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java
index 1c7e22d..12f036a 100644
--- a/src/com/android/settings/dashboard/DashboardSummary.java
+++ b/src/com/android/settings/dashboard/DashboardSummary.java
@@ -42,6 +42,7 @@
import com.android.settingslib.drawer.SettingsDrawerActivity;
import com.android.settingslib.drawer.Tile;
+import java.util.ArrayList;
import java.util.List;
public class DashboardSummary extends InstrumentedFragment
@@ -63,6 +64,8 @@
private static final String SUGGESTIONS = "suggestions";
private static final String EXTRA_SCROLL_POSITION = "scroll_position";
+ private static final String EXTRA_SUGGESTION_SHOWN_LOGGED = "suggestions_shown_logged";
+ private static final String EXTRA_SUGGESTION_HIDDEN_LOGGED = "suggestions_hidden_logged";
private FocusRecyclerView mDashboard;
private DashboardAdapter mAdapter;
@@ -71,6 +74,8 @@
private SuggestionParser mSuggestionParser;
private LinearLayoutManager mLayoutManager;
private SuggestionsChecks mSuggestionsChecks;
+ private ArrayList<String> mSuggestionsShownLogged;
+ private ArrayList<String> mSuggestionsHiddenLogged;
@Override
protected int getMetricsCategory() {
@@ -90,6 +95,15 @@
mSuggestionParser = new SuggestionParser(context,
context.getSharedPreferences(SUGGESTIONS, 0), R.xml.suggestion_ordering);
mSuggestionsChecks = new SuggestionsChecks(getContext());
+ if (savedInstanceState == null) {
+ mSuggestionsShownLogged = new ArrayList<>();
+ mSuggestionsHiddenLogged = new ArrayList<>();
+ } else {
+ mSuggestionsShownLogged =
+ savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_SHOWN_LOGGED);
+ mSuggestionsHiddenLogged =
+ savedInstanceState.getStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED);
+ }
if (DEBUG_TIMING) Log.d(TAG, "onCreate took " + (System.currentTimeMillis() - startTime)
+ " ms");
}
@@ -112,12 +126,6 @@
MetricsLogger.visible(getContext(), c.getMetricsConstant());
}
}
- if (mAdapter.getSuggestions() != null) {
- for (Tile suggestion : mAdapter.getSuggestions()) {
- MetricsLogger.action(getContext(), MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION,
- DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion));
- }
- }
if (DEBUG_TIMING) Log.d(TAG, "onStart took " + (System.currentTimeMillis() - startTime)
+ " ms");
}
@@ -136,9 +144,15 @@
if (mAdapter.getSuggestions() == null) {
return;
}
- for (Tile suggestion : mAdapter.getSuggestions()) {
- MetricsLogger.action(getContext(), MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION,
- DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion));
+ if (!getActivity().isChangingConfigurations()) {
+ for (Tile suggestion : mAdapter.getSuggestions()) {
+ String id = DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion);
+ if (!mSuggestionsHiddenLogged.contains(id)) {
+ mSuggestionsHiddenLogged.add(id);
+ MetricsLogger.action(getContext(),
+ MetricsEvent.ACTION_HIDE_SETTINGS_SUGGESTION, id);
+ }
+ }
}
}
@@ -169,6 +183,8 @@
if (mAdapter != null) {
mAdapter.onSaveInstanceState(outState);
}
+ outState.putStringArrayList(EXTRA_SUGGESTION_HIDDEN_LOGGED, mSuggestionsHiddenLogged);
+ outState.putStringArrayList(EXTRA_SUGGESTION_SHOWN_LOGGED, mSuggestionsShownLogged);
}
@Override
@@ -222,9 +238,17 @@
protected List<Tile> doInBackground(Void... params) {
List<Tile> suggestions = mSuggestionParser.getSuggestions();
for (int i = 0; i < suggestions.size(); i++) {
- if (mSuggestionsChecks.isSuggestionComplete(suggestions.get(i))) {
- mAdapter.disableSuggestion(suggestions.get(i));
+ Tile suggestion = suggestions.get(i);
+ if (mSuggestionsChecks.isSuggestionComplete(suggestion)) {
+ mAdapter.disableSuggestion(suggestion);
suggestions.remove(i--);
+ } else {
+ String id = DashboardAdapter.getSuggestionIdentifier(getContext(), suggestion);
+ if (!mSuggestionsShownLogged.contains(id)) {
+ mSuggestionsShownLogged.add(id);
+ MetricsLogger.action(getContext(),
+ MetricsEvent.ACTION_SHOW_SETTINGS_SUGGESTION, id);
+ }
}
}
return suggestions;