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); } }