@Override public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: getPermissiveMessenger().repeatRequest(); break; case DialogInterface.BUTTON_NEGATIVE: getPermissiveMessenger().cancelRequest(); break; } }
@Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); permissiveMessenger.restoreActivity(getActivity()); }
@Override public void onCancel(DialogInterface dialog) { super.onCancel(dialog); permissiveMessenger.cancelRequest(); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(getClass().getSimpleName(), "onCreate(): this=" + this + ", savedInstanceState=" + savedInstanceState); if (savedInstanceState != null) { allowablePermissions = savedInstanceState.getStringArray("permissions"); permissiveMessenger = savedInstanceState.getParcelable("messenger"); } if (!permissiveMessenger.updatePermissionsResultListener(this)) { permissiveMessenger.rebuildRequest() .withRationale(this) .whenPermissionsResultReceived(this) .execute(getActivity()); } }
/** * Sends a message to repeat current request. * * @return {@code true} if the message was sent. Otherwise is {@code false}. */ public synchronized boolean repeatRequest() { return repeatRequest(false); }
@Override public void onResume() { super.onResume(); if (Permissive.filterPermissions(getContext(), getPermissiveMessenger().getRequestedPermissions(), PackageManager.PERMISSION_GRANTED).length > 0) { // if user granted permission via Settings, then finish this fragment finishFragment(); } }
private boolean showRationaleForRequest(Permissive.Request request) { Activity activity = request.getContext(); if (null == activity) { return false; } final String[] rationalePermissions = Permissive.getPermissionsRequiringRationale(activity, request.getPermissions()); if (request.shouldDisplayRationale()) { final PermissiveMessenger messenger = new PermissiveMessenger(handler, request.getPermissions()); return request.showRationale(rationalePermissions, messenger) && !request.rebuild; } return false; }
@Override public void onCancel(DialogInterface dialog) { super.onCancel(dialog); permissiveMessenger.cancelRequest(); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(getClass().getSimpleName(), "onCreate(): this=" + this + ", savedInstanceState=" + savedInstanceState); if (savedInstanceState != null) { allowablePermissions = savedInstanceState.getStringArray("permissions"); permissiveMessenger = savedInstanceState.getParcelable("messenger"); } if (!permissiveMessenger.updatePermissionsResultListener(this)) { permissiveMessenger.rebuildRequest() .withRationale(this) .whenPermissionsResultReceived(this) .execute(getActivity()); } }
@Override public void onClick(View v) { getPermissiveMessenger().repeatRequest(); sharedPrefs.edit().putBoolean("first_time_ask", false).apply(); } });
@Override public void onClick(DialogInterface dialog, int which) { switch (which) { case DialogInterface.BUTTON_POSITIVE: getPermissiveMessenger().cancelRequest(); break; case DialogInterface.BUTTON_NEGATIVE: getPermissiveMessenger().repeatRequest(true); break; } }
@Override public void onDestroy() { super.onDestroy(); Log.i(getClass().getSimpleName(), "onDestroy()"); getPermissiveMessenger().cancelRequest(); }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (DEBUG) { Log.d(getClass().getSimpleName(), "onCreate(): this=" + this + ", savedInstanceState=" + savedInstanceState); } if (savedInstanceState != null) { allowablePermissions = savedInstanceState.getStringArray("permissions"); permissiveMessenger = savedInstanceState.getParcelable("messenger"); } permissiveMessenger.restoreActivity(getActivity()); }
@Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { getPermissiveMessenger().repeatRequest(); return inflater.inflate(R.layout.ask_up_front_fragment, container, false); }
@Override public void onDestroy() { super.onDestroy(); getPermissiveMessenger().cancelRequest(); } }
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (DEBUG) { Log.d(getClass().getSimpleName(), "onCreate(): this=" + this + ", savedInstanceState=" + savedInstanceState); } if (savedInstanceState != null) { allowablePermissions = savedInstanceState.getStringArray("permissions"); permissiveMessenger = savedInstanceState.getParcelable("messenger"); } permissiveMessenger.restoreActivity(getActivity()); }
@Override public void onClick(View v) { getActivity().finish(); getPermissiveMessenger().cancelRequest(); } });
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); permissiveMessenger.restoreActivity(getActivity()); }