Skip to content

Commit 83fd376

Browse files
author
Grigory Fedorov
committed
Merge branch 'release/1.0.174'
2 parents 06c171e + aa1ecd1 commit 83fd376

30 files changed

+122
-37
lines changed

xabber/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ android {
1010
defaultConfig {
1111
minSdkVersion 15
1212
targetSdkVersion 25
13-
versionCode 345
14-
versionName '1.0.173'
13+
versionCode 346
14+
versionName '1.0.174'
1515
}
1616

1717
lintOptions {

xabber/src/main/AndroidManifest.xml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,9 @@
9191
<category android:name="android.intent.category.DEFAULT" />
9292
</intent-filter>
9393
</activity>
94-
<activity android:name=".ui.activity.LoadActivity" />
94+
<activity android:name=".ui.activity.LoadActivity"
95+
android:noHistory="true"
96+
/>
9597
<activity
9698
android:name=".ui.activity.AboutActivity"
9799
android:label="@string/about_viewer"

xabber/src/main/java/com/xabber/android/data/Application.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
*/
7575
public class Application extends android.app.Application {
7676

77+
private static final String LOG_TAG = Application.class.getSimpleName();
7778
private static Application instance;
7879
private final ArrayList<Object> registeredManagers;
7980
/**
@@ -204,22 +205,24 @@ private void onInitialized() {
204205
}
205206

206207
private void onClose() {
207-
LogManager.i(this, "onClose");
208+
LogManager.i(LOG_TAG, "onClose1");
208209
for (Object manager : registeredManagers) {
209210
if (manager instanceof OnCloseListener) {
210211
((OnCloseListener) manager).onClose();
211212
}
212213
}
213214
closed = true;
215+
LogManager.i(LOG_TAG, "onClose2");
214216
}
215217

216218
void onUnload() {
217-
LogManager.i(this, "onUnload");
219+
LogManager.i(LOG_TAG, "onUnload1");
218220
for (Object manager : registeredManagers) {
219221
if (manager instanceof OnUnloadListener) {
220222
((OnUnloadListener) manager).onUnload();
221223
}
222224
}
225+
LogManager.i(LOG_TAG, "onUnload2");
223226
android.os.Process.killProcess(android.os.Process.myPid());
224227
}
225228

@@ -272,8 +275,10 @@ public void run() {
272275
* Requests to close application in some time in future.
273276
*/
274277
public void requestToClose() {
278+
LogManager.i(LOG_TAG, "requestToClose1");
275279
closing = true;
276280
stopService(XabberService.createIntent(this));
281+
LogManager.i(LOG_TAG, "requestToClose2");
277282
}
278283

279284
/**
@@ -353,7 +358,10 @@ public void onLowMemory() {
353358
* Service have been destroyed.
354359
*/
355360
public void onServiceDestroy() {
361+
LogManager.i(LOG_TAG, "onServiceDestroy");
362+
356363
if (closed) {
364+
LogManager.i(LOG_TAG, "onServiceDestroy closed");
357365
return;
358366
}
359367
onClose();

xabber/src/main/java/com/xabber/android/data/SettingsManager.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import android.support.annotation.NonNull;
2525
import android.text.TextUtils;
2626

27+
import com.xabber.android.BuildConfig;
2728
import com.xabber.android.R;
2829
import com.xabber.android.data.account.AccountManager;
2930
import com.xabber.android.data.account.StatusMode;
@@ -495,6 +496,21 @@ public static boolean sendCrashReports() {
495496
return getBoolean(R.string.debug_crash_reports_key, R.bool.debug_crash_reports_default);
496497
}
497498

499+
public static boolean isCrashReportsSupported() {
500+
return BuildConfig.FLAVOR.equals("beta")
501+
|| BuildConfig.FLAVOR.equals("vip")
502+
|| BuildConfig.FLAVOR.equals("prod");
503+
504+
}
505+
506+
public static boolean isCrashReportsDialogShown() {
507+
return getBoolean(R.string.debug_crash_reports_dialog_key, false);
508+
}
509+
510+
public static void setCrashReportsDialogShown() {
511+
setBoolean(R.string.debug_crash_reports_dialog_key, true);
512+
}
513+
498514
public static InterfaceTheme interfaceTheme() {
499515
String value = getString(R.string.interface_theme_key, R.string.interface_theme_default);
500516
if (Application.getInstance().getString(R.string.interface_theme_dark_value).equals(value)) {

xabber/src/main/java/com/xabber/android/ui/activity/ContactListActivity.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import com.xabber.android.R;
4444
import com.xabber.android.data.ActivityManager;
4545
import com.xabber.android.data.Application;
46-
import com.xabber.android.data.log.LogManager;
4746
import com.xabber.android.data.NetworkException;
4847
import com.xabber.android.data.SettingsManager;
4948
import com.xabber.android.data.account.AccountManager;
@@ -55,9 +54,9 @@
5554
import com.xabber.android.data.extension.avatar.AvatarManager;
5655
import com.xabber.android.data.extension.muc.MUCManager;
5756
import com.xabber.android.data.intent.EntityIntentBuilder;
57+
import com.xabber.android.data.log.LogManager;
5858
import com.xabber.android.data.message.AbstractChat;
5959
import com.xabber.android.data.message.MessageManager;
60-
import com.xabber.android.data.notification.NotificationManager;
6160
import com.xabber.android.data.roster.AbstractContact;
6261
import com.xabber.android.data.roster.RosterContact;
6362
import com.xabber.android.data.roster.RosterManager;
@@ -66,6 +65,7 @@
6665
import com.xabber.android.ui.dialog.AccountChooseDialogFragment.OnChooseListener;
6766
import com.xabber.android.ui.dialog.BatteryOptimizationDisableDialog;
6867
import com.xabber.android.ui.dialog.ContactSubscriptionDialog;
68+
import com.xabber.android.ui.dialog.CrashReportDialog;
6969
import com.xabber.android.ui.dialog.DarkThemeIntroduceDialog;
7070
import com.xabber.android.ui.dialog.MucInviteDialog;
7171
import com.xabber.android.ui.dialog.MucPrivateChatInvitationDialog;
@@ -400,22 +400,26 @@ protected void onResume() {
400400
Locale currentLocale = getResources().getConfiguration().locale;
401401
if (!currentLocale.getLanguage().equals("en") && !getResources().getBoolean(R.bool.is_translated)) {
402402
new TranslationDialog().show(getFragmentManager(), "TRANSLATION_DIALOG");
403-
SettingsManager.setTranslationSuggested();
404403
}
405404
}
406405

407-
if (SettingsManager.bootCount() > 2 && !SettingsManager.connectionStartAtBoot()
408-
&& !SettingsManager.startAtBootSuggested()) {
409-
StartAtBootDialogFragment.newInstance().show(getFragmentManager(), "START_AT_BOOT");
406+
if (SettingsManager.isCrashReportsSupported()
407+
&& !SettingsManager.isCrashReportsDialogShown()) {
408+
CrashReportDialog.newInstance().show(getFragmentManager(), CrashReportDialog.class.getSimpleName());
410409
}
411410

412411
if (SettingsManager.interfaceTheme() != SettingsManager.InterfaceTheme.dark) {
413-
if (!SettingsManager.isDarkThemeSuggested() && SettingsManager.bootCount() > 0) {
412+
if (!SettingsManager.isDarkThemeSuggested() && SettingsManager.bootCount() > 1) {
414413
new DarkThemeIntroduceDialog().show(getFragmentManager(), DarkThemeIntroduceDialog.class.getSimpleName());
415414
}
416415
} else {
417416
SettingsManager.setDarkThemeSuggested();
418417
}
418+
419+
if (SettingsManager.bootCount() > 2 && !SettingsManager.connectionStartAtBoot()
420+
&& !SettingsManager.startAtBootSuggested()) {
421+
StartAtBootDialogFragment.newInstance().show(getFragmentManager(), "START_AT_BOOT");
422+
}
419423
}
420424
}
421425

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.xabber.android.ui.dialog;
2+
3+
import android.app.AlertDialog;
4+
import android.app.Dialog;
5+
import android.app.DialogFragment;
6+
import android.content.DialogInterface;
7+
import android.content.Intent;
8+
import android.os.Bundle;
9+
10+
import com.xabber.android.R;
11+
import com.xabber.android.data.SettingsManager;
12+
import com.xabber.android.ui.preferences.DebugSettings;
13+
14+
15+
public class CrashReportDialog extends DialogFragment implements DialogInterface.OnClickListener {
16+
17+
public static DialogFragment newInstance() {
18+
return new CrashReportDialog();
19+
}
20+
21+
@Override
22+
public Dialog onCreateDialog(Bundle savedInstanceState) {
23+
return new AlertDialog.Builder(getActivity())
24+
.setTitle(R.string.debug_crash_reports_dialog_title)
25+
.setMessage(R.string.debug_crash_reports_dialog_message)
26+
.setPositiveButton(R.string.debug_crash_reports_dialog_settings_button, this)
27+
.setNegativeButton(android.R.string.cancel, this)
28+
.setCancelable(false)
29+
.create();
30+
}
31+
32+
@Override
33+
public void onClick(DialogInterface dialog, int which) {
34+
SettingsManager.setCrashReportsDialogShown();
35+
36+
if (which == Dialog.BUTTON_POSITIVE) {
37+
startActivity(new Intent(getActivity(), DebugSettings.class));
38+
}
39+
}
40+
}

xabber/src/main/java/com/xabber/android/ui/dialog/TranslationDialog.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import android.os.Bundle;
1010

1111
import com.xabber.android.R;
12+
import com.xabber.android.data.SettingsManager;
1213

1314
public class TranslationDialog extends DialogFragment implements DialogInterface.OnClickListener {
1415
@Override
@@ -24,6 +25,8 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
2425

2526
@Override
2627
public void onClick(DialogInterface dialog, int which) {
28+
SettingsManager.setTranslationSuggested();
29+
2730
if (which == Dialog.BUTTON_POSITIVE) {
2831
Intent i = new Intent(Intent.ACTION_VIEW);
2932
i.setData(Uri.parse(getString(R.string.translation_url)));

xabber/src/main/java/com/xabber/android/ui/preferences/DebugSettingsFragment.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import android.os.Bundle;
44
import android.preference.PreferenceScreen;
55

6-
import com.xabber.android.BuildConfig;
76
import com.xabber.android.R;
7+
import com.xabber.android.data.SettingsManager;
88
import com.xabber.android.ui.activity.PreferenceSummaryHelperActivity;
99

1010
public class DebugSettingsFragment extends android.preference.PreferenceFragment {
@@ -20,7 +20,7 @@ public void onCreate(Bundle savedInstanceState) {
2020
preferenceScreen.removePreference(preferenceScreen.findPreference(getString(R.string.cache_clear_key)));
2121
preferenceScreen.removePreference(preferenceScreen.findPreference(getString(R.string.debug_connection_errors_key)));
2222

23-
if (!BuildConfig.FLAVOR.equals("beta")) {
23+
if (!SettingsManager.isCrashReportsSupported()) {
2424
preferenceScreen.removePreference(preferenceScreen.findPreference(getString(R.string.debug_crash_reports_key)));
2525
}
2626

xabber/src/main/res/values-ar/preference_editor.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
<string name="debug_log_files_title">ملفات السجل\nقائمة ملفات السجل المكتوبة.</string>
2222
<string name="debug_log_files_activity_title">ملفات السجل</string>
2323
<string name="debug_connection_errors_title">إظهار أخطاء الاتصال\nإظهار اطارات منبثقة ﻷخطاء الاتصال</string>
24-
<string name="debug_crash_reports_title">إرسال تقارير الأعطال \nإرسال تقارير الأعطال بهوية مجهولة لمساعدة تطوير Xabber (الرجاء إعادة تشغيل التطبيق لتطبيق التغييرات).</string>
2524
<string name="events_lightning">إشارة ضوئية\nغمز ضوء LED للإشعار</string>
2625
<string name="events_persistent">أيقونة شريط المهام\nاظهار مستمر للإخطار. هذا الخيار يمنع نظام Android من إزالة التطبيق من الذاكرة</string>
2726
<string name="events_sound">تنبيه صوتي\nاختر صوت التنبيه</string>

xabber/src/main/res/values-ca/chat_viewer.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
<string name="chat_input_hint">Escriviu aquí el vostre missatge</string>
1111
<string name="chat_send">Enviar</string>
1212
<string name="clear_history">Netejar l\'historial</string>
13+
<string name="clear_chat_history_dialog_button">Esborrar</string>
14+
<string name="clear_chat_history_dialog_message">Voleu realment esborrar tot l\'Historial de xat amb %s?</string>
1315
<string name="contact_is_offline">El destinatari està fora de línia. Els missatges es lliuraran quan es connecti.</string>
1416
<string name="ENTRY_IS_NOT_AVAILABLE">El contacte no està disponible</string>
1517
<string name="FILE_NOT_FOUND">L’arxiu no existeix</string>

0 commit comments

Comments
 (0)