Files
Magisk/app/src/full/java/com/topjohnwu/magisk/components/BaseFragment.java
2019-01-30 17:11:32 -05:00

56 lines
1.4 KiB
Java

package com.topjohnwu.magisk.components;
import android.content.Intent;
import com.topjohnwu.magisk.App;
import com.topjohnwu.magisk.utils.Topic;
import androidx.fragment.app.Fragment;
import butterknife.Unbinder;
public abstract class BaseFragment extends Fragment implements Topic.AutoSubscriber {
public App app = App.self;
protected Unbinder unbinder = null;
@Override
public void onResume() {
super.onResume();
Topic.subscribe(this);
}
@Override
public void onPause() {
Topic.unsubscribe(this);
super.onPause();
}
@Override
public void onDestroyView() {
super.onDestroyView();
if (unbinder != null)
unbinder.unbind();
}
@Override
public void startActivityForResult(Intent intent, int requestCode) {
startActivityForResult(intent, requestCode, this::onActivityResult);
}
public void startActivityForResult(Intent intent, int requestCode, BaseActivity.ActivityResultListener listener) {
((BaseActivity) requireActivity()).startActivityForResult(intent, requestCode, listener);
}
public void runWithPermission(String[] permissions, Runnable callback) {
((BaseActivity) requireActivity()).runWithPermission(permissions,callback);
}
@Override
public int[] getSubscribedTopics() {
return BaseActivity.EMPTY_INT_ARRAY;
}
@Override
public void onPublish(int topic, Object[] result) {}
}