summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Li <delphij@google.com>2024-03-06 09:30:06 -0800
committerXin Li <delphij@google.com>2024-03-06 09:30:06 -0800
commit2a7b410db459f96a28ebbf09a6469e209e47789b (patch)
tree18eb4ba9cd480f090a1e9590949d4b7c25d2bb76
parent76bb3087f8717e7cdc91041f229e4ce6f41f7d7a (diff)
parent118611fee87eaa8b196cb725070b9034adc9c5b7 (diff)
downloadStk-2a7b410db459f96a28ebbf09a6469e209e47789b.tar.gz
Merge Android 14 QPR2 to AOSP main
Bug: 319669529 Merged-In: Ifaeb166476d8934f7183a2e146c5a07d69bd644a Change-Id: Iab6e6f6718e77823b8dda255c531f1d18d9efa2d
-rw-r--r--AndroidManifest.xml6
-rw-r--r--res/values-eu/strings.xml2
-rw-r--r--res/values-in/strings.xml2
-rw-r--r--res/values-ne/strings.xml2
-rw-r--r--src/com/android/stk/StkAppService.java47
-rw-r--r--src/com/android/stk/UserPresentReceiver.java35
6 files changed, 57 insertions, 37 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 348e798..d8aff68 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -130,6 +130,12 @@
</intent-filter>
</receiver>
+ <receiver android:name="com.android.stk.UserPresentReceiver"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.USER_PRESENT" />
+ </intent-filter>
+ </receiver>
<service android:name="StkAppService" />
</application>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index e791e6d..da8762c 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -41,6 +41,6 @@
<string name="default_close_channel_msg" msgid="6320648502339362951">"Kanala itxita dago"</string>
<string name="stk_dialog_accept" msgid="2899431442032305374">"BAI"</string>
<string name="stk_dialog_reject" msgid="1455086565615694879">"EZ"</string>
- <string name="no_sim_card_inserted" msgid="3177955793136053581">"Sartu SIM txartela SIM tresnak abiarazteko."</string>
+ <string name="no_sim_card_inserted" msgid="3177955793136053581">"Sartu SIMa SIM tresnak exekutatzeko."</string>
<string name="stk_channel_name" msgid="3945765236566954372">"Zerbitzu mugikorraren mezuak"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index a3c33bc..3738f0b 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -32,7 +32,7 @@
<string name="default_setup_call_msg" msgid="5819132588246209714">"Panggilan yang sedang disiapkan"</string>
<string name="stk_app_state" msgid="6274976677198791616">"Status aplikasi"</string>
<string name="enable_app" msgid="1980493713217690903">"Diaktifkan"</string>
- <string name="disable_app" msgid="2298201833946002357">"Dinonaktifkan"</string>
+ <string name="disable_app" msgid="2298201833946002357">"Nonaktif"</string>
<string name="stk_dialog_title" msgid="1047336800509270520">"SIM ToolKit"</string>
<string name="default_tone_dialog_msg" msgid="8354658178971283852">"Memutar Nada"</string>
<string name="default_open_channel_msg" msgid="2043011408855389673">"Buka Saluran?"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 4b0be8d..d4a47da 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -42,5 +42,5 @@
<string name="stk_dialog_accept" msgid="2899431442032305374">"हो"</string>
<string name="stk_dialog_reject" msgid="1455086565615694879">"होइन"</string>
<string name="no_sim_card_inserted" msgid="3177955793136053581">"SIM टुलकिट लञ्च गर्न कृपया SIM घुसाउनुहोस्।"</string>
- <string name="stk_channel_name" msgid="3945765236566954372">"मोबाइल सेवाका सन्देशहरू"</string>
+ <string name="stk_channel_name" msgid="3945765236566954372">"मोबाइल सेवाका म्यासेजहरू"</string>
</resources>
diff --git a/src/com/android/stk/StkAppService.java b/src/com/android/stk/StkAppService.java
index 52b06fb..4d26fa6 100644
--- a/src/com/android/stk/StkAppService.java
+++ b/src/com/android/stk/StkAppService.java
@@ -74,7 +74,6 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import com.android.internal.telephony.GsmAlphabet;
import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.PhoneConfigurationManager;
-import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.TelephonyIntents;
import com.android.internal.telephony.cat.AppInterface;
import com.android.internal.telephony.cat.CatCmdMessage;
@@ -300,6 +299,7 @@ public class StkAppService extends Service implements Runnable {
private static final String SYSTEM_DIALOG_REASON_HOME_KEY = "homekey";
private static final String SYSTEM_DIALOG_REASON_RECENTAPPS_KEY = "recentapps";
private BroadcastReceiver mHomeKeyEventReceiver = null;
+ private static final int NOTIFICATION_PENDING_INTENT_REQUEST_CODE = 0;
@Override
public void onCreate() {
@@ -1690,47 +1690,26 @@ public class StkAppService extends Service implements Runnable {
builder.setOnlyAlertOnce(true);
builder.setColor(getResources().getColor(
com.android.internal.R.color.system_notification_accent_color));
-
- registerUserPresentReceiver();
+ Intent userPresentIntent = new Intent(mContext, UserPresentReceiver.class);
+ userPresentIntent.setAction(Intent.ACTION_USER_PRESENT);
+ PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext,
+ NOTIFICATION_PENDING_INTENT_REQUEST_CODE, userPresentIntent,
+ PendingIntent.FLAG_IMMUTABLE);
+ builder.setContentIntent(pendingIntent);
mNotificationManager.notify(getNotificationId(NOTIFICATION_ON_KEYGUARD, slotId),
builder.build());
mStkContext[slotId].mNotificationOnKeyguard = true;
}
- private void cancelNotificationOnKeyguard(int slotId) {
- mNotificationManager.cancel(getNotificationId(NOTIFICATION_ON_KEYGUARD, slotId));
- mStkContext[slotId].mNotificationOnKeyguard = false;
- unregisterUserPresentReceiver(slotId);
- }
-
- private synchronized void registerUserPresentReceiver() {
- if (mUserPresentReceiver == null) {
- mUserPresentReceiver = new BroadcastReceiver() {
- @Override public void onReceive(Context context, Intent intent) {
- if (Intent.ACTION_USER_PRESENT.equals(intent.getAction())) {
- for (int slot = 0; slot < mSimCount; slot++) {
- cancelNotificationOnKeyguard(slot);
- }
- }
- }
- };
- registerReceiver(mUserPresentReceiver, new IntentFilter(Intent.ACTION_USER_PRESENT));
+ public void cancelNotificationOnKeyguard() {
+ for (int slot = 0; slot < mSimCount; slot++) {
+ cancelNotificationOnKeyguard(slot);
}
}
- private synchronized void unregisterUserPresentReceiver(int slotId) {
- if (mUserPresentReceiver != null) {
- for (int slot = 0; slot < mSimCount; slot++) {
- if (slot != slotId) {
- if (mStkContext[slot].mNotificationOnKeyguard) {
- // The broadcast receiver is still necessary for other SIM card.
- return;
- }
- }
- }
- unregisterReceiver(mUserPresentReceiver);
- mUserPresentReceiver = null;
- }
+ private void cancelNotificationOnKeyguard(int slotId) {
+ mNotificationManager.cancel(getNotificationId(NOTIFICATION_ON_KEYGUARD, slotId));
+ mStkContext[slotId].mNotificationOnKeyguard = false;
}
private int getNotificationId(int notificationType, int slotId) {
diff --git a/src/com/android/stk/UserPresentReceiver.java b/src/com/android/stk/UserPresentReceiver.java
new file mode 100644
index 0000000..25c945c
--- /dev/null
+++ b/src/com/android/stk/UserPresentReceiver.java
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ */
+
+package com.android.stk;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import com.android.internal.telephony.cat.CatLog;
+
+public class UserPresentReceiver extends BroadcastReceiver {
+
+ private static final String LOG_TAG = UserPresentReceiver.class.getSimpleName();
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ if (Intent.ACTION_USER_PRESENT.equals(intent.getAction())) {
+ CatLog.d(LOG_TAG, "Broadcast received and clearing the notification");
+ StkAppService.getInstance().cancelNotificationOnKeyguard();
+ }
+ }
+}