Merge "Refactor FingerprintEnrollEnrolling to fragment" into udc-dev
diff --git a/res-product/values/config.xml b/res-product/values/config.xml
new file mode 100755
index 0000000..39fbdff
--- /dev/null
+++ b/res-product/values/config.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 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 xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- The illustration for those screen are not in one of below type. This file should be a video in JSON format. -->
+ <item name="a11y_timeout_banner" type="raw" product="default">@raw/accessibility_timeout_banner</item>
+ <item name="a11y_timeout_banner" type="raw" product="tablet">@raw/accessibility_timeout_banner_tablet</item>
+
+ <item name="a11y_shortcut_type_triple_tap" type="raw" product="default">@raw/accessibility_shortcut_type_triple_tap</item>
+ <item name="a11y_shortcut_type_triple_tap" type="raw" product="tablet">@raw/accessibility_shortcut_type_triple_tap_tablet</item>
+
+ <item name="a11y_color_inversion_banner" type="raw" product="default">@raw/accessibility_color_inversion_banner</item>
+ <item name="a11y_color_inversion_banner" type="raw" product="tablet">@raw/accessibility_color_inversion_banner_tablet</item>
+
+ <item name="a11y_magnification_banner" type="raw" product="default">@raw/accessibility_magnification_banner</item>
+ <item name="a11y_magnification_banner" type="raw" product="tablet">@raw/accessibility_magnification_banner_tablet</item>
+
+ <item name="a11y_extra_dim_banner" type="raw" product="default">@raw/extra_dim_banner</item>
+ <item name="a11y_extra_dim_banner" type="raw" product="tablet">@raw/extra_dim_banner_tablet</item>
+</resources>
diff --git a/res/values/drawables.xml b/res-product/values/drawables.xml
similarity index 100%
rename from res/values/drawables.xml
rename to res-product/values/drawables.xml
diff --git a/res/values/config.xml b/res/values/config.xml
index e27f257..07f6432 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -695,20 +695,4 @@
<!-- Whether auto data switching on secondary SIM enables cross-SIM calling on both SIMs. -->
<bool name="config_auto_data_switch_enables_cross_sim_calling">false</bool>
-
- <!-- The illustration for those screen are not in one of below type. This file should be a video in JSON format. -->
- <item name="a11y_timeout_banner" type="raw" product="default">@raw/accessibility_timeout_banner</item>
- <item name="a11y_timeout_banner" type="raw" product="tablet">@raw/accessibility_timeout_banner_tablet</item>
-
- <item name="a11y_shortcut_type_triple_tap" type="raw" product="default">@raw/accessibility_shortcut_type_triple_tap</item>
- <item name="a11y_shortcut_type_triple_tap" type="raw" product="tablet">@raw/accessibility_shortcut_type_triple_tap_tablet</item>
-
- <item name="a11y_color_inversion_banner" type="raw" product="default">@raw/accessibility_color_inversion_banner</item>
- <item name="a11y_color_inversion_banner" type="raw" product="tablet">@raw/accessibility_color_inversion_banner_tablet</item>
-
- <item name="a11y_magnification_banner" type="raw" product="default">@raw/accessibility_magnification_banner</item>
- <item name="a11y_magnification_banner" type="raw" product="tablet">@raw/accessibility_magnification_banner_tablet</item>
-
- <item name="a11y_extra_dim_banner" type="raw" product="default">@raw/extra_dim_banner</item>
- <item name="a11y_extra_dim_banner" type="raw" product="tablet">@raw/extra_dim_banner_tablet</item>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bd02186..3efb218 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -382,13 +382,13 @@
<!-- The subtitle of option's page of regional preferences for Temperature units, Calendar and First day of week. [CHAR LIMIT=NONE] -->
<string name="regional_preferences_option_page_sub_title">Apps will use your regional preferences where possible.</string>
<!-- The title of menu entry of Temperature unit preference. [CHAR LIMIT=50] -->
- <string name="temperature_preferences_title">Temperature units</string>
+ <string name="temperature_preferences_title">Temperature</string>
<!-- The title of the menu entry of Calendar type preference. [CHAR LIMIT=50] -->
<string name="calendar_preferences_title">Calendar</string>
<!-- The title of the menu entry of First day of week preference. [CHAR LIMIT=50] -->
<string name="first_day_of_week_preferences_title">First day of week</string>
<!-- The title of the menu entry of Numbers system preference. [CHAR LIMIT=50] -->
- <string name="numbers_preferences_title">Numbers</string>
+ <string name="numbers_preferences_title">Numbers preferences</string>
<!-- The summary of default string for each regional preference. [CHAR LIMIT=50] -->
<string name="default_string_of_regional_preference">Use app default</string>
<!-- The title of Celsius for preference of temperature unit. [CHAR LIMIT=50] -->
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index 395d1c7..3047d73 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -27,6 +27,7 @@
import android.net.NetworkPolicy;
import android.net.NetworkTemplate;
import android.os.Bundle;
+import android.provider.Settings;
import android.text.method.NumberKeyListener;
import android.util.Log;
import android.view.LayoutInflater;
@@ -54,6 +55,7 @@
import java.text.NumberFormat;
import java.text.ParseException;
+import java.util.Optional;
import java.util.TimeZone;
@SearchIndexable
@@ -115,6 +117,18 @@
Bundle args = getArguments();
mNetworkTemplate = args.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE);
+ if (mNetworkTemplate == null && getIntent() != null) {
+ mNetworkTemplate = getIntent().getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE);
+ }
+
+ if (mNetworkTemplate == null) {
+ Optional<NetworkTemplate> mobileNetworkTemplateFromSim =
+ DataUsageUtils.getMobileNetworkTemplateFromSubId(context, getIntent());
+ if (mobileNetworkTemplateFromSim.isPresent()) {
+ mNetworkTemplate = mobileNetworkTemplateFromSim.get();
+ }
+ }
+
if (mNetworkTemplate == null) {
mNetworkTemplate = DataUsageUtils.getDefaultTemplate(context,
DataUsageUtils.getDefaultSubscriptionId(context));
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index 1499ded..68751e5 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -69,6 +69,7 @@
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.Optional;
/**
* Panel showing data usage history across various networks, including options
@@ -266,6 +267,14 @@
mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
SubscriptionManager.INVALID_SUBSCRIPTION_ID);
mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE);
+
+ if (mTemplate == null) {
+ Optional<NetworkTemplate> mobileNetworkTemplateFromSim =
+ DataUsageUtils.getMobileNetworkTemplateFromSubId(getContext(), getIntent());
+ if (mobileNetworkTemplateFromSim.isPresent()) {
+ mTemplate = mobileNetworkTemplateFromSim.get();
+ }
+ }
}
}
diff --git a/src/com/android/settings/datausage/DataUsageUtils.java b/src/com/android/settings/datausage/DataUsageUtils.java
index 9fec27e..cce7ca1 100644
--- a/src/com/android/settings/datausage/DataUsageUtils.java
+++ b/src/com/android/settings/datausage/DataUsageUtils.java
@@ -22,11 +22,13 @@
import android.app.usage.NetworkStats.Bucket;
import android.app.usage.NetworkStatsManager;
import android.content.Context;
+import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.ConnectivityManager;
import android.net.NetworkTemplate;
import android.os.RemoteException;
import android.os.SystemProperties;
+import android.provider.Settings;
import android.telephony.SubscriptionInfo;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -39,6 +41,7 @@
import com.android.settings.network.ProxySubscriptionManager;
import java.util.List;
+import java.util.Optional;
/**
* Utility methods for data usage classes.
@@ -193,4 +196,22 @@
}
}
+ /**
+ * Returns a mobile NetworkTemplate if EXTRA_SUB_ID of the Intent is available and the subId
+ * is valid & hasMobileData. Otherwise, returns empty data.
+ */
+ public static Optional<NetworkTemplate> getMobileNetworkTemplateFromSubId(Context context,
+ Intent intent) {
+ if (intent == null || !intent.hasExtra(Settings.EXTRA_SUB_ID)) {
+ return Optional.empty();
+ }
+
+ int subId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
+ SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+ if (SubscriptionManager.isValidSubscriptionId(subId) && hasMobileData(context)) {
+ return Optional.of(DataUsageLib.getMobileTemplate(context, subId));
+ }
+
+ return Optional.empty();
+ }
}
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index 695e86b..16d1483 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -56,9 +56,11 @@
import com.android.internal.content.PackageMonitor;
import com.android.settings.R;
import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
import com.android.settings.testutils.shadow.ShadowFragment;
import com.android.settings.testutils.shadow.ShadowUserManager;
import com.android.settingslib.RestrictedPreference;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.search.SearchIndexableRaw;
@@ -85,6 +87,7 @@
/** Test for {@link AccessibilitySettings}. */
@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothUtils.class})
public class AccessibilitySettingsTest {
private static final String PACKAGE_NAME = "com.android.test";
private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
@@ -116,6 +119,8 @@
private ShadowAccessibilityManager mShadowAccessibilityManager;
@Mock
private AppOpsManager mAppOpsManager;
+ @Mock
+ private LocalBluetoothManager mLocalBluetoothManager;
private Lifecycle mLifecycle;
@@ -134,6 +139,7 @@
anyInt(), anyString())).thenReturn(AppOpsManager.MODE_ALLOWED);
mLifecycle = new Lifecycle(() -> mLifecycle);
when(mFragment.getSettingsLifecycle()).thenReturn(mLifecycle);
+ ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
}
@Test