mirror of https://github.com/FongMi/TV.git
parent
1e55f2ff6a
commit
6f78ec2f45
@ -1,31 +0,0 @@ |
||||
package com.fongmi.android.tv.impl; |
||||
|
||||
import com.permissionx.guolindev.request.ExplainScope; |
||||
import com.permissionx.guolindev.request.ForwardScope; |
||||
|
||||
import java.util.List; |
||||
|
||||
public class ChainTask implements com.permissionx.guolindev.request.ChainTask { |
||||
|
||||
@Override |
||||
public ExplainScope getExplainScope() { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public ForwardScope getForwardScope() { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public void request() { |
||||
} |
||||
|
||||
@Override |
||||
public void requestAgain(List<String> permissions) { |
||||
} |
||||
|
||||
@Override |
||||
public void finish() { |
||||
} |
||||
} |
||||
@ -0,0 +1,52 @@ |
||||
package com.fongmi.android.tv.impl; |
||||
|
||||
import androidx.annotation.NonNull; |
||||
|
||||
import com.permissionx.guolindev.callback.RequestCallback; |
||||
import com.permissionx.guolindev.request.ChainTask; |
||||
import com.permissionx.guolindev.request.ExplainScope; |
||||
import com.permissionx.guolindev.request.ForwardScope; |
||||
|
||||
import java.util.List; |
||||
import java.util.Objects; |
||||
import java.util.function.Consumer; |
||||
|
||||
public class PermissionCallback implements RequestCallback, ChainTask { |
||||
|
||||
private Consumer<Boolean> result; |
||||
|
||||
public PermissionCallback() { |
||||
} |
||||
|
||||
public PermissionCallback(Consumer<Boolean> result) { |
||||
this.result = Objects.requireNonNull(result); |
||||
} |
||||
|
||||
@Override |
||||
public void onResult(boolean allGranted, @NonNull List<String> grantedList, @NonNull List<String> deniedList) { |
||||
if (result != null) result.accept(allGranted); |
||||
} |
||||
|
||||
@Override |
||||
public void finish() { |
||||
if (result != null) result.accept(true); |
||||
} |
||||
|
||||
@Override |
||||
public ExplainScope getExplainScope() { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public ForwardScope getForwardScope() { |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public void request() { |
||||
} |
||||
|
||||
@Override |
||||
public void requestAgain(List<String> permissions) { |
||||
} |
||||
} |
||||
@ -0,0 +1,33 @@ |
||||
package com.fongmi.android.tv.utils; |
||||
|
||||
import android.Manifest; |
||||
|
||||
import androidx.fragment.app.Fragment; |
||||
import androidx.fragment.app.FragmentActivity; |
||||
|
||||
import com.fongmi.android.tv.Setting; |
||||
import com.fongmi.android.tv.impl.PermissionCallback; |
||||
import com.permissionx.guolindev.PermissionX; |
||||
|
||||
import java.util.function.Consumer; |
||||
|
||||
public class PermissionUtil { |
||||
|
||||
public static void requestAudio(FragmentActivity activity, Consumer<Boolean> callback) { |
||||
PermissionX.init(activity).permissions(Manifest.permission.RECORD_AUDIO).request(new PermissionCallback(callback)); |
||||
} |
||||
|
||||
public static void requestFile(FragmentActivity activity, Consumer<Boolean> callback) { |
||||
if (Setting.hasFileManager()) PermissionX.init(activity).permissions().requestManageExternalStoragePermissionNow(new PermissionCallback(callback)); |
||||
else PermissionX.init(activity).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request(new PermissionCallback(callback)); |
||||
} |
||||
|
||||
public static void requestFile(Fragment fragment, Consumer<Boolean> callback) { |
||||
if (Setting.hasFileManager()) PermissionX.init(fragment).permissions().requestManageExternalStoragePermissionNow(new PermissionCallback(callback)); |
||||
else PermissionX.init(fragment).permissions(Manifest.permission.WRITE_EXTERNAL_STORAGE).request(new PermissionCallback(callback)); |
||||
} |
||||
|
||||
public static void requestNotify(FragmentActivity activity) { |
||||
PermissionX.init(activity).permissions(PermissionX.permission.POST_NOTIFICATIONS).request(new PermissionCallback()); |
||||
} |
||||
} |
||||
Loading…
Reference in new issue