mirror of
https://github.com/M66B/FairEmail.git
synced 2026-03-31 14:17:03 +02:00
Experiment: quick switch unified folders
This commit is contained in:
@@ -62,6 +62,7 @@ import androidx.fragment.app.FragmentActivity;
|
||||
import androidx.fragment.app.FragmentResultListener;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.LifecycleOwner;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
@@ -137,6 +138,33 @@ public class FragmentBase extends Fragment {
|
||||
updateSubtitle();
|
||||
}
|
||||
|
||||
protected void setActionBarListener(final LifecycleOwner owner, final View.OnClickListener listener) {
|
||||
final AppCompatActivity activity = (AppCompatActivity) getActivity();
|
||||
if (activity == null)
|
||||
return;
|
||||
|
||||
final ActionBar actionbar = activity.getSupportActionBar();
|
||||
if (actionbar == null)
|
||||
return;
|
||||
|
||||
if ((actionbar.getDisplayOptions() & DISPLAY_SHOW_CUSTOM) == 0)
|
||||
return;
|
||||
|
||||
final View custom = actionbar.getCustomView();
|
||||
if (custom == null)
|
||||
return;
|
||||
|
||||
owner.getLifecycle().addObserver(new LifecycleObserver() {
|
||||
@OnLifecycleEvent(Lifecycle.Event.ON_ANY)
|
||||
public void onAny() {
|
||||
Lifecycle.State state = owner.getLifecycle().getCurrentState();
|
||||
custom.setOnClickListener(state.isAtLeast(Lifecycle.State.STARTED) ? listener : null);
|
||||
if (Lifecycle.State.DESTROYED.equals(state))
|
||||
owner.getLifecycle().removeObserver(this);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(@NonNull Menu menu, @NonNull MenuInflater inflater) {
|
||||
super.onCreateOptionsMenu(menu, inflater);
|
||||
|
||||
Reference in New Issue
Block a user