Просмотр исходного кода

fix(android) add ability to localize notification actions strings

master
Andrzej Moskal 4 лет назад
Родитель
Сommit
87f688dc8f

+ 5
- 3
android/sdk/src/main/java/org/jitsi/meet/sdk/OngoingNotification.java Просмотреть файл

@@ -24,6 +24,7 @@ import android.content.Context;
24 24
 import android.content.Intent;
25 25
 import android.os.Build;
26 26
 
27
+import androidx.annotation.StringRes;
27 28
 import androidx.core.app.NotificationCompat;
28 29
 
29 30
 import org.jitsi.meet.sdk.log.JitsiMeetLogger;
@@ -96,11 +97,11 @@ class OngoingNotification {
96 97
             .setOnlyAlertOnce(true)
97 98
             .setSmallIcon(context.getResources().getIdentifier("ic_notification", "drawable", context.getPackageName()));
98 99
 
99
-        NotificationCompat.Action hangupAction = createAction(context, JitsiMeetOngoingConferenceService.Action.HANGUP, "Hang up");
100
+        NotificationCompat.Action hangupAction = createAction(context, JitsiMeetOngoingConferenceService.Action.HANGUP, R.string.ongoing_notification_action_hang_up);
100 101
 
101 102
         JitsiMeetOngoingConferenceService.Action toggleAudioAction = isMuted
102 103
             ? JitsiMeetOngoingConferenceService.Action.UNMUTE : JitsiMeetOngoingConferenceService.Action.MUTE;
103
-        String toggleAudioTitle = isMuted ? "Unmute" : "Mute";
104
+        int toggleAudioTitle = isMuted ? R.string.ongoing_notification_action_unmute : R.string.ongoing_notification_action_mute;
104 105
         NotificationCompat.Action audioAction = createAction(context, toggleAudioAction, toggleAudioTitle);
105 106
 
106 107
         builder.addAction(hangupAction);
@@ -109,11 +110,12 @@ class OngoingNotification {
109 110
         return builder.build();
110 111
     }
111 112
 
112
-    private static NotificationCompat.Action createAction(Context context, JitsiMeetOngoingConferenceService.Action action, String title) {
113
+    private static NotificationCompat.Action createAction(Context context, JitsiMeetOngoingConferenceService.Action action, @StringRes int titleId) {
113 114
         Intent intent = new Intent(context, JitsiMeetOngoingConferenceService.class);
114 115
         intent.setAction(action.getName());
115 116
         PendingIntent pendingIntent
116 117
             = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
118
+        String title = context.getString(titleId);
117 119
         return new NotificationCompat.Action(0, title, pendingIntent);
118 120
     }
119 121
 }

+ 3
- 0
android/sdk/src/main/res/values/strings.xml Просмотреть файл

@@ -3,4 +3,7 @@
3 3
     <string name="dropbox_app_key"></string>
4 4
     <string name="ongoing_notification_title">Ongoing meeting</string>
5 5
     <string name="ongoing_notification_text">You are currently in a meeting. Tap to return to it.</string>
6
+    <string name="ongoing_notification_action_hang_up">Hang up</string>
7
+    <string name="ongoing_notification_action_mute">Mute</string>
8
+    <string name="ongoing_notification_action_unmute">Unmute</string>
6 9
 </resources>

Загрузка…
Отмена
Сохранить