Lifecycle aware popup menu

This commit is contained in:
M66B
2019-05-03 18:59:27 +02:00
parent 9bb6bd0378
commit 4777d24057
6 changed files with 62 additions and 11 deletions

View File

@@ -0,0 +1,31 @@
package eu.faircode.email;
import android.content.Context;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.PopupMenu;
import androidx.lifecycle.Lifecycle;
import androidx.lifecycle.LifecycleObserver;
import androidx.lifecycle.LifecycleOwner;
import androidx.lifecycle.OnLifecycleEvent;
public class PopupMenuLifecycle extends PopupMenu implements LifecycleObserver {
private LifecycleOwner owner;
public PopupMenuLifecycle(@NonNull Context context, LifecycleOwner owner, @NonNull View anchor) {
super(context, anchor);
this.owner = owner;
}
@Override
public void show() {
super.show();
}
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
public void onDestroy() {
this.dismiss();
owner = null;
}
}