Merge "[Tetheirng] Show a dialog indicate tethering is unsupported by carrier." am: d915b09e21

Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1984590

Change-Id: I5de3906942beb7efe557e3491468f91f9d67db48
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9015d8a..8771616 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -675,6 +675,18 @@
             </intent-filter>
         </activity>
 
+        <activity
+            android:name=".network.TetherProvisioningCarrierDialogActivity"
+            android:exported="true"
+            android:permission="android.permission.TETHER_PRIVILEGED"
+            android:excludeFromRecents="true"
+            android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog.NoActionBar">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.TETHER_UNSUPPORTED_CARRIER_UI" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".network.telephony.ToggleSubscriptionDialogActivity"
                   android:exported="false"
                   android:permission="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index c227aeb..881da7f 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2644,6 +2644,10 @@
     <string name="wifi_tether_starting">Turning hotspot on\u2026</string>
     <!-- Summary text when turning hotspot off -->
     <string name="wifi_tether_stopping">Turning off hotspot\u2026</string>
+    <!-- Dialog title text when carrier does not support tethering -->
+    <string name="wifi_tether_carrier_unsupport_dialog_title">Tethering unavailable</string>
+    <!-- Dialog content text when carrier does not support tethering -->
+    <string name="wifi_tether_carrier_unsupport_dialog_content">Contact your carrier for details</string>
     <!-- Subtext for wifi tether checkbox on success -->
     <string name="wifi_tether_enabled_subtext"><xliff:g id="network_ssid">%1$s</xliff:g> is active</string>
     <!-- Subtext for wifi tether checkbox on failure -->
diff --git a/src/com/android/settings/network/TetherProvisioningCarrierDialogActivity.java b/src/com/android/settings/network/TetherProvisioningCarrierDialogActivity.java
new file mode 100644
index 0000000..2506229
--- /dev/null
+++ b/src/com/android/settings/network/TetherProvisioningCarrierDialogActivity.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2022 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.settings.network;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+import com.android.settings.R;
+
+/**
+ * To show a dialog to indicate tethering is unsupported by carrier.
+ */
+public class TetherProvisioningCarrierDialogActivity extends Activity {
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        new AlertDialog.Builder(this)
+                .setTitle(R.string.wifi_tether_carrier_unsupport_dialog_title)
+                .setMessage(R.string.wifi_tether_carrier_unsupport_dialog_content)
+                .setCancelable(false)
+                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int which) {
+                        dialog.cancel();
+                        finish();
+                    }
+                })
+                .show();
+    }
+}
+