diff options
author | Christian S <christian@pix-art.de> | 2016-03-13 12:07:28 +0100 |
---|---|---|
committer | Christian S <christian@pix-art.de> | 2016-03-13 12:07:28 +0100 |
commit | ecbf5f6459584fdd694ded4ffc650b685381548e (patch) | |
tree | 4d17928512dff1b60dd9de0343bf6992dd41aab4 /src | |
parent | 73907600fa340eb51b9d297e94cdbdca981e0d2b (diff) | |
parent | 817d344521835622a625c8263141dc1148fff451 (diff) |
Merge branch 'siacs/master' into development
Diffstat (limited to '')
8 files changed, 49 insertions, 18 deletions
diff --git a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java index b975a0017..2ce737968 100644 --- a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -415,8 +415,10 @@ public class DatabaseBackend extends SQLiteOpenHelper { Cursor cursor = db.query(ServiceDiscoveryResult.TABLENAME, null, ServiceDiscoveryResult.HASH + "=? AND " + ServiceDiscoveryResult.VER + "=?", selectionArgs, null, null, null); - if (cursor.getCount() == 0) + if (cursor.getCount() == 0) { + cursor.close(); return null; + } cursor.moveToFirst(); ServiceDiscoveryResult result = null; diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java index 14f6ac3f4..e45ffd432 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationActivity.java @@ -1444,7 +1444,9 @@ public class ConversationActivity extends XmppActivity } private void openBatteryOptimizationDialogIfNeeded() { - if (showBatteryOptimizationWarning() && getPreferences().getBoolean("show_battery_optimization", true)) { + if (hasAccountWithoutPush() + && isOptimizingBattery() + && getPreferences().getBoolean("show_battery_optimization", true)) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(R.string.battery_optimizations_enabled); builder.setMessage(R.string.battery_optimizations_enabled_dialog); @@ -1469,6 +1471,16 @@ public class ConversationActivity extends XmppActivity } } + private boolean hasAccountWithoutPush() { + for(Account account : xmppConnectionService.getAccounts()) { + if (account.getStatus() != Account.State.DISABLED + && !xmppConnectionService.getPushManagementService().available(account)) { + return true; + } + } + return false; + } + private void attachLocationToConversation(Conversation conversation, Uri uri) { if (conversation == null) { return; diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 02c09a5f2..3a889bacf 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -777,6 +777,17 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa } } + private OnClickListener mEnableAccountListener = new OnClickListener() { + @Override + public void onClick(View v) { + final Account account = conversation == null ? null : conversation.getAccount(); + if (account != null) { + account.setOption(Account.OPTION_DISABLED, false); + activity.xmppConnectionService.updateAccount(account); + } + } + }; + private OnClickListener mUnblockClickListener = new OnClickListener() { @Override public void onClick(final View v) { @@ -822,7 +833,9 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa final Account account = conversation.getAccount(); final Contact contact = conversation.getContact(); final int mode = conversation.getMode(); - if (conversation.isBlocked()) { + if (account.getStatus() == Account.State.DISABLED) { + showSnackbar(R.string.this_account_is_disabled, R.string.enable, this.mEnableAccountListener); + } else if (conversation.isBlocked()) { showSnackbar(R.string.contact_blocked, R.string.unblock, this.mUnblockClickListener); } else if (!contact.showInRoster() && contact.getOption(Contact.Options.PENDING_SUBSCRIPTION_REQUEST)) { showSnackbar(R.string.contact_added_you, R.string.add_back, this.mAddBackClickListener); diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java index b05e4e44a..10c6b685d 100644 --- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java @@ -641,11 +641,12 @@ public class EditAccountActivity extends XmppActivity implements OnAccountUpdate this.mRegisterNew.setChecked(false); } if (this.mAccount.isOnlineAndConnected() && !this.mFetchingAvatar) { + Features features = this.mAccount.getXmppConnection().getFeatures(); this.mStats.setVisibility(View.VISIBLE); - this.mBatteryOptimizations.setVisibility(showBatteryOptimizationWarning() ? View.VISIBLE : View.GONE); + boolean showOptimizingWarning = !xmppConnectionService.getPushManagementService().available(mAccount) && isOptimizingBattery(); + this.mBatteryOptimizations.setVisibility(showOptimizingWarning ? View.VISIBLE : View.GONE); this.mSessionEst.setText(UIHelper.readableTimeDifferenceFull(this, this.mAccount.getXmppConnection() .getLastSessionEstablished())); - Features features = this.mAccount.getXmppConnection().getFeatures(); if (features.rosterVersioning()) { this.mServerInfoRosterVersion.setText(R.string.server_info_available); } else { diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java index 3c109967b..1114560ba 100644 --- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java +++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java @@ -394,7 +394,7 @@ public abstract class XmppActivity extends Activity { return super.onCreateOptionsMenu(menu); } - protected boolean showBatteryOptimizationWarning() { + protected boolean isOptimizingBattery() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE); return !pm.isIgnoringBatteryOptimizations(getPackageName()); diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java index dc6021284..ee67a5f95 100644 --- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java +++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java @@ -915,11 +915,11 @@ public class XmppConnection implements Runnable { sendPostBindInitialization(); } } else { - Log.d(Config.LOGTAG, account.getJid() + ": disconnecting because of bind failure"); + Log.d(Config.LOGTAG, account.getJid() + ": disconnecting because of bind failure. (no jid)"); disconnect(true); } } else { - Log.d(Config.LOGTAG, account.getJid() + ": disconnecting because of bind failure"); + Log.d(Config.LOGTAG, account.getJid() + ": disconnecting because of bind failure ("+packet.toString()); disconnect(true); } } diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml index 81e03e7c0..920bf62b6 100644 --- a/src/main/res/values-de/strings.xml +++ b/src/main/res/values-de/strings.xml @@ -158,7 +158,7 @@ <string name="mgmt_account_disable">Vorübergehend abschalten</string> <string name="mgmt_account_publish_avatar">Avatar veröffentlichen</string> <string name="mgmt_account_publish_pgp">Öffentlichen OpenPGP-Schlüssel veröffentlichen</string> - <string name="mgmt_account_enable">Anschalten</string> + <string name="mgmt_account_enable">Aktivieren </string> <string name="mgmt_account_are_you_sure">Bist du dir sicher?</string> <string name="mgmt_account_delete_confirm_text">Wenn du dein Konto löschst, gehen alle Gesprächsverläufe verloren</string> <string name="attach_record_voice">Sprache aufzeichnen</string> @@ -213,7 +213,7 @@ <string name="other_devices">Andere Geräte</string> <string name="trust_omemo_fingerprints">OMEMO-Fingerabdruck vertrauen</string> <string name="fetching_keys">Schlüssel werden abgerufen …</string> - <string name="done">Erledigt</string> + <string name="done">Fertig</string> <string name="verify">Überprüfen</string> <string name="decrypt">Entschlüsseln</string> <string name="conferences">Konferenzen</string> @@ -236,6 +236,7 @@ <string name="bookmark_already_exists">Die Konferenz befindet sich bereits auf deiner Kontaktliste</string> <string name="you">Du</string> <string name="action_edit_subject">Konferenz-Thema bearbeiten</string> + <string name="joining_conference">Konferenz wird betreten…</string> <string name="leave">Verlassen</string> <string name="contact_added_you">Der Kontakt hat dich zur Kontaktliste hinzugefügt</string> <string name="add_back">Auch hinzufügen</string> @@ -392,7 +393,7 @@ <string name="current_password">Aktuelles Passwort</string> <string name="new_password">Neues Passwort</string> <string name="password_should_not_be_empty">Das Passwort darf nicht leer sein</string> - <string name="enable_all_accounts">Alle Konten anschalten</string> + <string name="enable_all_accounts">Alle Konten aktiveren</string> <string name="disable_all_accounts">Alle Konten abschalten</string> <string name="perform_action_with">Aktion durchführen mit</string> <string name="no_affiliation">Keine Zugehörigkeit</string> @@ -506,7 +507,9 @@ <string name="pref_away_when_screen_off">Abwesend bei abgeschaltetem Bildschirm</string> <string name="pref_away_when_screen_off_summary">Setzt deinen Status auf \"abwesend\", solange dein Bildschirm abgeschaltet ist</string> <string name="pref_xa_on_silent_mode">Nicht verfügbar bei Stummschaltung</string> - <string name="pref_xa_on_silent_mode_summary">Setzt deinen Status auf \"nicht verfügbar\", solange dein Telefon lautlos ist</string> + <string name="pref_xa_on_silent_mode_summary">Setzt deinen Status auf \"nicht verfügbar\", solange dein Gerät lautlos ist</string> + <string name="pref_treat_vibrate_as_silent">Behandle Vibration als stumm</string> + <string name="pref_treat_vibrate_as_silent_summary">Setze deinen Status auf \"nicht verfügbar\" solange dein Gerät auf \"vibrieren\" ist.</string> <string name="hostname_example">xmpp.domain.de</string> <string name="action_add_account_with_certificate">Konto mit Zertifikat hinzufügen</string> <string name="unable_to_parse_certificate">Zertifikat kann nicht gelesen werden</string> @@ -591,13 +594,12 @@ <string name="correct_message">Nachricht korrigieren</string> <string name="send_corrected_message">Korrigierte Nachricht senden</string> <string name="conference_shutdown">Konferenz wurde geschlossen</string> - <string name="joining_conference">Konferent wird beigetreten…</string> <string name="conference_name">Konferenz-Name</string> <string name="invalid_conference_name">Ungültiger Konferenz-Name</string> - <string name="no_keys_just_confirm">Du vertraust diesem Kontakt bereits. Mit einem Klick auf \'Erledigt\' bestätigst du lediglich, dass %s Teil dieser Konferenz ist.</string> - <string name="pref_treat_vibrate_as_silent">Vibrationsmodus wie stummgeschaltet behandeln</string> - <string name="pref_treat_vibrate_as_silent_summary">Setzt deinen Status auf nicht verfügbar, wenn sich dein Gerät im Vibrationsmodus befindet</string> - <string name="check_x_filesize_on_host">%1$s-Größe auf %2$s prüfen</string> - <string name="select_image_and_crop">Bild auswählen und zuschneiden</string> + <string name="check_x_filesize_on_host">%1$s-Größe auf %2$s prüfen</string> <string name="contact_has_no_pgp_key">Pix-Art Messenger ist nicht in der Lage, deine Nachrichten zu verschlüsseln, weil dein Kontakt seinen Schlüssel nicht preisgibt.\n\n</string> + <string name="no_keys_just_confirm">Du vertraust diesem Kontakt bereits. In dem du \'Fertig\' auswählst bestätigst Du, dass %s Teil dieser Konferenz ist.</string> + <string name="select_image_and_crop">Bild auswählen und zuschneiden</string> + <string name="this_account_is_disabled">Du hast diesen Account deaktiviert</string> + </resources> diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 0603fb5ff..0cefd4f46 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -628,4 +628,5 @@ <string name="no_keys_just_confirm">You already trust this contact. By selecting \'done\' you are just confirming that %s is part of this conference.</string> <string name="select_image_and_crop">Select image and crop</string> <string name="contacts_have_no_pgp_keys">Pix-Art Messenger is unable to encrypt your messages because your contacts are not announcing their public keys.\n\n</string> + <string name="this_account_is_disabled">You have disabled this account</string> </resources> |