mirror of
https://github.com/M66B/FairEmail.git
synced 2026-03-31 06:08:31 +02:00
Added pinning of contacts
This commit is contained in:
@@ -42,6 +42,8 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.appcompat.widget.PopupMenu;
|
||||
import androidx.core.content.pm.ShortcutInfoCompat;
|
||||
import androidx.core.content.pm.ShortcutManagerCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
@@ -235,7 +237,9 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_advanced_never_favorite, 1, R.string.title_advanced_never_favorite);
|
||||
if (share.resolveActivity(context.getPackageManager()) != null)
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_share, 2, R.string.title_share);
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_delete, 3, R.string.title_delete);
|
||||
if (ShortcutManagerCompat.isRequestPinShortcutSupported(context))
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_pin, 3, R.string.title_pin);
|
||||
popupMenu.getMenu().add(Menu.NONE, R.string.title_delete, 4, R.string.title_delete);
|
||||
|
||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
@@ -247,6 +251,9 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
|
||||
case R.string.title_share:
|
||||
onActionShare();
|
||||
return true;
|
||||
case R.string.title_pin:
|
||||
onActionPin();
|
||||
return true;
|
||||
case R.string.title_delete:
|
||||
onActionDelete();
|
||||
return true;
|
||||
@@ -290,6 +297,11 @@ public class AdapterContact extends RecyclerView.Adapter<AdapterContact.ViewHold
|
||||
}
|
||||
}
|
||||
|
||||
private void onActionPin() {
|
||||
ShortcutInfoCompat.Builder builder = Shortcuts.getShortcut(context, contact);
|
||||
ShortcutManagerCompat.requestPinShortcut(context, builder.build(), null);
|
||||
}
|
||||
|
||||
private void onActionDelete() {
|
||||
Bundle args = new Bundle();
|
||||
args.putLong("id", contact.id);
|
||||
|
||||
Reference in New Issue
Block a user