68 lines
2.2 KiB
Java
68 lines
2.2 KiB
Java
package st.wow.git.logbook;
|
|
|
|
import java.lang.Runnable;
|
|
import java.lang.String;
|
|
import android.os.Environment;
|
|
import android.os.Handler;
|
|
import android.content.Context;
|
|
import android.util.Log;
|
|
import android.app.Activity;
|
|
import android.app.Fragment;
|
|
import android.app.FragmentManager;
|
|
import android.app.FragmentTransaction;
|
|
import android.content.Intent;
|
|
import android.Manifest;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.pm.PackageManager;
|
|
import android.net.Uri;
|
|
import android.provider.Settings;
|
|
import android.view.View;
|
|
|
|
public class Permissions extends Fragment {
|
|
Context ctx;
|
|
Handler handler;
|
|
final int PERMISSIONS_REQUEST = 1;
|
|
|
|
public Permissions(View view) {
|
|
Log.d("gio", "Permissions()");
|
|
this.ctx = view.getContext();
|
|
this.handler = new Handler(this.ctx.getMainLooper());
|
|
Permissions inst = this;
|
|
handler.post(new Runnable() {
|
|
public void run() {
|
|
Activity act = (Activity)ctx;
|
|
FragmentTransaction ft = act.getFragmentManager().beginTransaction();
|
|
ft.add(inst, "Permissions");
|
|
ft.commitNow();
|
|
}
|
|
});
|
|
}
|
|
|
|
@Override public void onAttach(Context ctx) {
|
|
super.onAttach(ctx);
|
|
Log.d("gio", "onAttach()");
|
|
if (ctx instanceof Activity) {
|
|
Log.d("gio", "It's an Activity!");
|
|
}
|
|
if (ctx.checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ctx.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
|
|
Log.d("gio", "Requesting permissions");
|
|
requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSIONS_REQUEST);
|
|
}
|
|
if (!Environment.isExternalStorageManager()){
|
|
Intent intent = new Intent();
|
|
intent.setAction(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
|
|
Uri uri = Uri.fromParts("package", getActivity().getPackageName(), null);
|
|
intent.setData(uri);
|
|
startActivity(intent);
|
|
}
|
|
Log.d("gio", "Loading gio library");
|
|
System.loadLibrary("gio");
|
|
}
|
|
|
|
@Override public void onActivityResult(int requestCode, int resultCode, Intent data) {
|
|
Log.d("gio", "onActivityResult(" + requestCode + "): " + resultCode);
|
|
super.onActivityResult(requestCode, resultCode, data);
|
|
}
|
|
}
|