diff --git a/src/main/java/eu/siacs/conversations/services/NotificationService.java b/src/main/java/eu/siacs/conversations/services/NotificationService.java index bb1c81d94e8c5f2d9dc6f3260af6c66bb530baa1..b654e01909d57959a496ba1fa8663b09bddad9b9 100644 --- a/src/main/java/eu/siacs/conversations/services/NotificationService.java +++ b/src/main/java/eu/siacs/conversations/services/NotificationService.java @@ -136,7 +136,7 @@ public class NotificationService { final NotificationChannel foregroundServiceChannel = new NotificationChannel("foreground", c.getString(R.string.foreground_service_channel_name), NotificationManager.IMPORTANCE_MIN); - foregroundServiceChannel.setDescription(c.getString(R.string.foreground_service_channel_description)); + foregroundServiceChannel.setDescription(c.getString(R.string.foreground_service_channel_description, c.getString(R.string.app_name))); foregroundServiceChannel.setShowBadge(false); foregroundServiceChannel.setGroup("status"); notificationManager.createNotificationChannel(foregroundServiceChannel); diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 23807b09082693ed355056b953416ffb007c20bc..f13b94a8d0fa0aee796c75d2ea866e50fde59124 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -1571,7 +1571,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } else { res = R.string.no_storage_permission; } - Toast.makeText(getActivity(), res, Toast.LENGTH_SHORT).show(); + Toast.makeText(getActivity(), getString(res, getString(R.string.app_name)), Toast.LENGTH_SHORT).show(); } } if (writeGranted(grantResults, permissions)) { @@ -3043,4 +3043,4 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } activity.switchToAccount(message.getConversation().getAccount(), fingerprint); } -} \ No newline at end of file +} diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java index 61a8a586e2f1a065dd849f4945d47442469841c7..e3f52aa2116d5619c8a4534e8dd9cf7bda264cc7 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java @@ -224,7 +224,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio && getPreferences().getBoolean(getBatteryOptimizationPreferenceKey(), true)) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.battery_optimizations_enabled); - builder.setMessage(R.string.battery_optimizations_enabled_dialog); + builder.setMessage(getString(R.string.battery_optimizations_enabled_dialog, getString(R.string.app_name))); builder.setPositiveButton(R.string.next, (dialog, which) -> { Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); Uri uri = Uri.parse("package:" + getPackageName()); diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index a8f8f3cd2758eb8181c8d221566b0f268f286bf1..e7c042c069d63556a3da3dae24c2b5ffcfeb8ccc 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -1209,7 +1209,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat this.binding.osOptimization.setVisibility(showBatteryWarning || showDataSaverWarning ? View.VISIBLE : View.GONE); if (showDataSaverWarning && android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { this.binding.osOptimizationHeadline.setText(R.string.data_saver_enabled); - this.binding.osOptimizationBody.setText(R.string.data_saver_enabled_explained); + this.binding.osOptimizationBody.setText(getString(R.string.data_saver_enabled_explained, getString(R.string.app_name))); this.binding.osOptimizationDisable.setText(R.string.allow); this.binding.osOptimizationDisable.setOnClickListener(v -> { Intent intent = new Intent(Settings.ACTION_IGNORE_BACKGROUND_DATA_RESTRICTIONS_SETTINGS); @@ -1218,13 +1218,13 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat try { startActivityForResult(intent, REQUEST_DATA_SAVER); } catch (ActivityNotFoundException e) { - Toast.makeText(EditAccountActivity.this, R.string.device_does_not_support_data_saver, Toast.LENGTH_SHORT).show(); + Toast.makeText(EditAccountActivity.this, getString(R.string.device_does_not_support_data_saver, getString(R.string.app_name)), Toast.LENGTH_SHORT).show(); } }); } else if (showBatteryWarning && android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) { this.binding.osOptimizationDisable.setText(R.string.disable); this.binding.osOptimizationHeadline.setText(R.string.battery_optimizations_enabled); - this.binding.osOptimizationBody.setText(R.string.battery_optimizations_enabled_explained); + this.binding.osOptimizationBody.setText(getString(R.string.battery_optimizations_enabled_explained, getString(R.string.app_name))); this.binding.osOptimizationDisable.setOnClickListener(v -> { Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); Uri uri = Uri.parse("package:" + getPackageName()); diff --git a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java index dbb8763fb52c786a4cede1ecd43c844d9aaf0a66..27740eb4421a377cc1456b686d467be24f831a73 100644 --- a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java @@ -421,7 +421,7 @@ public class RtpSessionActivity extends XmppActivity implements XmppConnectionSe } else { throw new IllegalStateException("Invalid permission result request"); } - Toast.makeText(this, res, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(res, getString(R.string.app_name)), Toast.LENGTH_SHORT).show(); } } diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java index 3632c9cd8e8ad5d6615b7836abe8fe1dd2726cc8..b2ba8fd32600d6a79ab9124273ca4da442b62ad4 100644 --- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java @@ -405,7 +405,7 @@ public class SettingsActivity extends XmppActivity implements createBackup(); } } else { - Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.no_storage_permission, getString(R.string.app_name)), Toast.LENGTH_SHORT).show(); } } diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java index a55df7105801e56cda8f943fd1cb6301a36780ab..cb698691e538881c4d74c6f07da085074f8fbaea 100644 --- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java @@ -75,7 +75,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer } } } else { - Toast.makeText(this, R.string.no_storage_permission, Toast.LENGTH_SHORT).show(); + Toast.makeText(this, getString(R.string.no_storage_permission, getString(R.string.app_name)), Toast.LENGTH_SHORT).show(); } } diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java index bfb922fa1bc67f3f729175d78cb457925c7e4b4a..51e742e3aa0bdac159f98cf075052f3a600fcf66 100644 --- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java @@ -737,7 +737,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne if (QuickConversationsService.isQuicksy()) { builder.setMessage(Html.fromHtml(getString(R.string.sync_with_contacts_quicksy))); } else { - builder.setMessage(R.string.sync_with_contacts_long); + builder.setMessage(getString(R.string.sync_with_contacts_long, getString(R.string.app_name))); } builder.setPositiveButton(R.string.next, (dialog, which) -> requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_SYNC_CONTACTS)); builder.setOnDismissListener(dialog -> requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_SYNC_CONTACTS)); diff --git a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java index ece042ffd21b63d16d7caf524d69f6bbc2a028da..d5a95b7bfe984c63a805c0bf1b1102436c7e7236 100644 --- a/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/TrustKeysActivity.java @@ -237,7 +237,7 @@ public class TrustKeysActivity extends OmemoActivity implements OnKeyStatusUpdat } this.binding.keyErrorHintMutual.setVisibility(anyWithoutMutualPresenceSubscription ? View.VISIBLE : View.GONE); Contact contact = mAccount.getRoster().getContact(contactJids.get(0)); - binding.keyErrorGeneral.setText(getString(R.string.error_trustkey_general, contact.getDisplayName())); + binding.keyErrorGeneral.setText(getString(R.string.error_trustkey_general, getString(R.string.app_name), contact.getDisplayName())); binding.ownKeysDetails.removeAllViews(); if (OmemoSetting.isAlways()) { binding.disableButton.setVisibility(View.GONE); diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index b3591551b83215eadd2b23f9d467069755bde1a5..0abb745643da8ebf9a1d6339bea296c7ab1d8051 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -248,7 +248,7 @@ public abstract class XmppActivity extends ActionBarActivity { Builder builder = new AlertDialog.Builder(this); builder.setTitle(getString(R.string.openkeychain_required)); builder.setIconAttribute(android.R.attr.alertDialogIcon); - builder.setMessage(getText(R.string.openkeychain_required_long)); + builder.setMessage(getString(R.string.openkeychain_required_long, getString(R.string.app_name))); builder.setNegativeButton(getString(R.string.cancel), null); builder.setNeutralButton(getString(R.string.restart), (dialog, which) -> { diff --git a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java index ea272302b1f8f6e9e062b65f46a78f1113511a2b..16677ea8b07185c63cd54bd70a8efe2a69f6bc67 100644 --- a/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java +++ b/src/main/java/eu/siacs/conversations/utils/ExceptionHelper.java @@ -84,8 +84,8 @@ public class ExceptionHelper { file.close(); activity.deleteFile(FILENAME); AlertDialog.Builder builder = new AlertDialog.Builder(activity); - builder.setTitle(activity.getString(R.string.crash_report_title)); - builder.setMessage(activity.getText(R.string.crash_report_message)); + builder.setTitle(activity.getString(R.string.crash_report_title, activity.getString(R.string.app_name))); + builder.setMessage(activity.getString(R.string.crash_report_message, activity.getString(R.string.app_name))); builder.setPositiveButton(activity.getText(R.string.send_now), (dialog, which) -> { Log.d(Config.LOGTAG, "using account=" + account.getJid().asBareJid() + " to send in stack trace"); diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 177586c1b0a58e5622b0f5897f870f68306a77ff..25de0b2dd72e44b0c80e0c9c1c60c8406b5397c8 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -69,8 +69,8 @@ Unblock Save OK - Conversations has crashed - Using your XMPP account to send in stack traces helps the ongoing development of Conversations. + %1$s has crashed + Using your XMPP account to send in stack traces helps the ongoing development of %1$s. Send now Never ask again Could not connect to account @@ -100,7 +100,7 @@ Send unencrypted Decryption failed. Maybe you don’t have the proper private key. OpenKeychain - Conversations uses OpenKeychain to encrypt and decrypt messages and manage your public keys.\n\nIt is licensed under GPLv3+ and available on F-Droid and Google Play.\n\n(Please restart Conversations afterwards.) + %1$s uses OpenKeychain to encrypt and decrypt messages and manage your public keys.\n\nIt is licensed under GPLv3+ and available on F-Droid and Google Play.\n\n(Please restart %1$s afterwards.) Restart Install Please install OpenKeychain @@ -504,10 +504,10 @@ Image shared with %s Images shared with %s Text shared with %s - Grant Conversations access to external storage - Grant Conversations access to the camera + Grant %1$s access to external storage + Grant %1$s access to the camera Synchronize with contacts - Conversations wants permission to access your contacts to match your XMPP contact list with your contacts to show their full names and avatars.\n\nIt will only read your contacts and match them locally without uploading them to your server. + %1$s wants permission to access your contacts to match your XMPP contact list with your contacts to show their full names and avatars.\n\nIt will only read your contacts and match them locally without uploading them to your server.
We will not store a copy of those phone numbers.\n\nFor more information read our privacy policy.

You will now be asked to grant permission to access your contacts.]]>
Notify on all messages Notify only when mentioned @@ -518,8 +518,8 @@ Always Large images only Battery optimizations enabled - Your device is employing heavy battery optimizations for Conversations which may lead to delayed notifications or even message loss.\nIt is recommended to disable them. - Your device is employing heavy battery optimizations for Conversations which may lead to delayed notifications or even message loss.\n\nYou will now be asked to disable them. + Your device is employing heavy battery optimizations for %1$s which may lead to delayed notifications or even message loss.\nIt is recommended to disable them. + Your device is employing heavy battery optimizations for %1$s which may lead to delayed notifications or even message loss.\n\nYou will now be asked to disable them. Disable The selected area is too large (No activated accounts) @@ -593,8 +593,8 @@ Show error message Error Message Data saver enabled - Your operating system is restricting Conversations from accessing the Internet when in background. To receive notifications of new messages you should allow Conversations unrestricted access when “Data saver” is on.\nConversations will still make an effort to save data when possible. - Your device does not support disabling Data saver for Conversations. + Your operating system is restricting %1$s from accessing the Internet when in background. To receive notifications of new messages you should allow Conversations unrestricted access when “Data saver” is on.\nConversations will still make an effort to save data when possible. + Your device does not support disabling Data saver for %1$s. Could not create temporary file This device has been verified Copy fingerprint @@ -693,7 +693,7 @@ Edit Status Message Edit status message Disable encryption - Conversations is unable to send encrypted messages to %1$s. This may be due to your contact using an outdated server or client that can not handle OMEMO. + %1$s is unable to send encrypted messages to %2$s. This may be due to your contact using an outdated server or client that can not handle OMEMO. Could not fetch device list Could not fetch encryption keys Hint: In some cases this can be fixed by adding each other your contact lists. @@ -726,7 +726,7 @@ Share Could not start recording Please wait… - Grant Conversations access to the microphone + Grant %1$s access to the microphone Search messages GIF View conversation @@ -748,7 +748,7 @@ This group chat has been destroyed Could not save recording Foreground service - This notification category is used to display a permanent notification indicating that Conversations is running. + This notification category is used to display a permanent notification indicating that %1$s is running. Status Information Connectivity Problems This notification category is used to display a notification in case there is a problem connecting to an account. diff --git a/src/quicksy/res/values/strings.xml b/src/quicksy/res/values/strings.xml index 9fa7ccda9ab748f3ec59b6a404db5cfa180d873f..e1462e9160b24ea44093e24ece97837d80c8821a 100644 --- a/src/quicksy/res/values/strings.xml +++ b/src/quicksy/res/values/strings.xml @@ -1,23 +1,9 @@ - Quicksy has crashed - By sending in stack traces you are helping the ongoing development of Quicksy\nWarning: This will use your XMPP account to send the stack trace to the developer. - Quicksy utilizes a third party app called OpenKeychain to encrypt and decrypt messages and to manage your public keys.\n\nOpenKeychain is licensed under GPLv3 and available on F-Droid and Google Play.\n\n(Please restart Quicksy afterwards.) - Quicksy is unable to encrypt your messages because your contact is not announcing his or hers public key.\n\nPlease ask your contact to setup OpenPGP. - Quicksy is unable to encrypt your messages because your contacts are not announcing their public key.\n\nPlease ask your contacts to setup OpenPGP. The length of time Quicksy keeps quiet after seeing activity on another device By sending in stack traces you are helping the ongoing development of Quicksy - Quicksy needs access to external storage - Quicksy needs access to the camera - Your device is employing heavy battery optimizations for Quicksy which may lead to delayed notifications or even message loss.\nIt is recommended to disable them. - Your device is employing heavy battery optimizations for Quicksy which may lead to delayed notifications or even message loss.\n\nYou will now be asked to disable them. Let all your contacts know when you use Quicksy - Your operating system is restricting Quicksy from accessing the Internet when in background. To receive notifications of new messages you should allow Quicksy unrestricted access when Data saver is on.\nQuicksy will still make an effort to save data when possible. - Your device does not support disabling Data saver for Quicksy. To keep receiving notifications, even when the screen is turned off, you need to add Quicksy to the list of protected apps. - Quicksy is unable to send encrypted messages to %1$s. This may be due to your contact using an outdated server or client that can not handle OMEMO. - Quicksy needs access to the microphone - This notification category is used to display a permanent notification indicating that Quicksy is running. Quicksy profile picture Quicksy is not available in your country. Unable to verify server identity.