[automerger skipped] Merge Android 14 QPR1 am: 75077ec6a4 -s ours am: dbde620281 -s ours am: 8e5f09795b -s ours
am skip reason: Merged-In I6c53f585e7b4a3a04f71309b1cee37d58d419a60 with SHA-1 602a7a7c8c is already in history
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Stk/+/2866435
Change-Id: Iba07b90d25ff2a91f1cf2378e8c5279223fc601b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
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 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 @@
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 @@
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;
}
+ public void cancelNotificationOnKeyguard() {
+ for (int slot = 0; slot < mSimCount; slot++) {
+ cancelNotificationOnKeyguard(slot);
+ }
+ }
+
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));
- }
- }
-
- 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 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();
+ }
+ }
+}