forked from mirror/monocles_chat
Allow ignoring the mam pref warning
(cherry picked from commit 01cbee36b21bf417e35da3f23999747e6fbbbcc8)
This commit is contained in:
parent
62299380bd
commit
02e773702e
1 changed files with 20 additions and 0 deletions
|
@ -45,6 +45,7 @@ import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.AdapterView.AdapterContextMenuInfo;
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
||||||
|
import android.widget.PopupMenu;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
@ -544,6 +545,7 @@ public class ConversationsOverviewFragment extends XmppFragment {
|
||||||
binding.overviewSnackbar.setVisibility(View.GONE);
|
binding.overviewSnackbar.setVisibility(View.GONE);
|
||||||
if (activity.xmppConnectionService == null) return;
|
if (activity.xmppConnectionService == null) return;
|
||||||
for (final var account : activity.xmppConnectionService.getAccounts()) {
|
for (final var account : activity.xmppConnectionService.getAccounts()) {
|
||||||
|
if (activity.getPreferences().getBoolean("no_mam_pref_warn:" + account.getUuid(), false)) continue;
|
||||||
if (account.mamPrefs() != null && !"always".equals(account.mamPrefs().getAttribute("default"))) {
|
if (account.mamPrefs() != null && !"always".equals(account.mamPrefs().getAttribute("default"))) {
|
||||||
binding.overviewSnackbar.setVisibility(View.VISIBLE);
|
binding.overviewSnackbar.setVisibility(View.VISIBLE);
|
||||||
binding.overviewSnackbarMessage.setText("Your account " + account.getJid().asBareJid().toEscapedString() + " does not have archiving fully enabled. This may result in missed messages if you use multiple devices or apps.");
|
binding.overviewSnackbarMessage.setText("Your account " + account.getJid().asBareJid().toEscapedString() + " does not have archiving fully enabled. This may result in missed messages if you use multiple devices or apps.");
|
||||||
|
@ -553,6 +555,24 @@ public class ConversationsOverviewFragment extends XmppFragment {
|
||||||
activity.xmppConnectionService.pushMamPreferences(account, prefs);
|
activity.xmppConnectionService.pushMamPreferences(account, prefs);
|
||||||
refresh();
|
refresh();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
binding.overviewSnackbarAction.setOnLongClickListener((v) -> {
|
||||||
|
PopupMenu popupMenu = new PopupMenu(getActivity(), v);
|
||||||
|
popupMenu.inflate(R.menu.mam_pref_fix);
|
||||||
|
popupMenu.setOnMenuItemClickListener(menuItem -> {
|
||||||
|
switch (menuItem.getItemId()) {
|
||||||
|
case R.id.ignore:
|
||||||
|
final var editor = activity.getPreferences().edit();
|
||||||
|
editor.putBoolean("no_mam_pref_warn:" + account.getUuid(), true).apply();
|
||||||
|
editor.apply();
|
||||||
|
refresh();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
popupMenu.show();
|
||||||
|
return true;
|
||||||
|
});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue