2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-22 18:07:55 +00:00

Remove requestCode from get[Optional]PermissionExplanationDialog

This commit is contained in:
Albert Vaca Cintora 2020-01-14 22:57:48 +01:00
parent 6a43975951
commit 2ee3c543f5
6 changed files with 24 additions and 18 deletions

View File

@ -35,7 +35,7 @@ import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.NotificationsPlugin.NotificationReceiver;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
import org.kde.kdeconnect.UserInterface.AlertDialogFragment;
import org.kde.kdeconnect.UserInterface.MainActivity;
import org.kde.kdeconnect.UserInterface.StartActivityAlertDialogFragment;
import org.kde.kdeconnect_tp.R;
@ -44,6 +44,7 @@ import java.util.List;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.fragment.app.DialogFragment;
@PluginFactory.LoadablePlugin
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP_MR1)
@ -245,7 +246,7 @@ public class MprisReceiverPlugin extends Plugin {
}
@Override
public AlertDialogFragment getPermissionExplanationDialog(int requestCode) {
public DialogFragment getPermissionExplanationDialog() {
return new StartActivityAlertDialogFragment.Builder()
.setTitle(R.string.pref_plugin_mpris)
.setMessage(R.string.no_permission_mprisreceiver)
@ -253,7 +254,7 @@ public class MprisReceiverPlugin extends Plugin {
.setNegativeButton(R.string.cancel)
.setIntentAction("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")
.setStartForResult(true)
.setRequestCode(requestCode)
.setRequestCode(MainActivity.RESULT_NEEDS_RELOAD)
.create();
}

View File

@ -47,13 +47,14 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.core.app.NotificationCompat;
import androidx.fragment.app.DialogFragment;
import org.json.JSONArray;
import org.kde.kdeconnect.Helpers.AppsHelper;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
import org.kde.kdeconnect.UserInterface.AlertDialogFragment;
import org.kde.kdeconnect.UserInterface.MainActivity;
import org.kde.kdeconnect.UserInterface.PluginSettingsFragment;
import org.kde.kdeconnect.UserInterface.StartActivityAlertDialogFragment;
import org.kde.kdeconnect_tp.R;
@ -567,7 +568,7 @@ public class NotificationsPlugin extends Plugin implements NotificationReceiver.
}
@Override
public AlertDialogFragment getPermissionExplanationDialog(int requestCode) {
public DialogFragment getPermissionExplanationDialog() {
return new StartActivityAlertDialogFragment.Builder()
.setTitle(R.string.pref_plugin_notifications)
.setMessage(R.string.no_permissions)
@ -575,7 +576,7 @@ public class NotificationsPlugin extends Plugin implements NotificationReceiver.
.setNegativeButton(R.string.cancel)
.setIntentAction("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS")
.setStartForResult(true)
.setRequestCode(requestCode)
.setRequestCode(MainActivity.RESULT_NEEDS_RELOAD)
.create();
}

View File

@ -29,12 +29,14 @@ import android.os.Build;
import org.kde.kdeconnect.Device;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.UserInterface.AlertDialogFragment;
import org.kde.kdeconnect.UserInterface.MainActivity;
import org.kde.kdeconnect.UserInterface.PermissionsAlertDialogFragment;
import org.kde.kdeconnect.UserInterface.PluginSettingsFragment;
import org.kde.kdeconnect_tp.R;
import androidx.annotation.StringRes;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.DialogFragment;
public abstract class Plugin {
protected Device device;
@ -207,14 +209,14 @@ public abstract class Plugin {
return true;
}
private PermissionsAlertDialogFragment requestPermissionDialog(final String[] permissions, @StringRes int reason, int requestCode) {
private PermissionsAlertDialogFragment requestPermissionDialog(final String[] permissions, @StringRes int reason) {
return new PermissionsAlertDialogFragment.Builder()
.setTitle(getDisplayName())
.setMessage(reason)
.setPositiveButton(R.string.ok)
.setNegativeButton(R.string.cancel)
.setPermissions(permissions)
.setRequestCode(requestCode)
.setRequestCode(MainActivity.RESULT_NEEDS_RELOAD)
.create();
}
@ -223,12 +225,12 @@ public abstract class Plugin {
* the problem (and how to fix it, if possible) to the user.
*/
public AlertDialogFragment getPermissionExplanationDialog(int requestCode) {
return requestPermissionDialog(getRequiredPermissions(), permissionExplanation, requestCode);
public DialogFragment getPermissionExplanationDialog() {
return requestPermissionDialog(getRequiredPermissions(), permissionExplanation);
}
public AlertDialogFragment getOptionalPermissionExplanationDialog(int requestCode) {
return requestPermissionDialog(getOptionalPermissions(), optionalPermissionExplanation, requestCode);
public AlertDialogFragment getOptionalPermissionExplanationDialog() {
return requestPermissionDialog(getOptionalPermissions(), optionalPermissionExplanation);
}
public boolean checkRequiredPermissions() {

View File

@ -35,7 +35,7 @@ import android.view.inputmethod.InputConnection;
import org.kde.kdeconnect.NetworkPacket;
import org.kde.kdeconnect.Plugins.Plugin;
import org.kde.kdeconnect.Plugins.PluginFactory;
import org.kde.kdeconnect.UserInterface.AlertDialogFragment;
import org.kde.kdeconnect.UserInterface.MainActivity;
import org.kde.kdeconnect.UserInterface.StartActivityAlertDialogFragment;
import org.kde.kdeconnect_tp.R;
@ -44,6 +44,7 @@ import java.util.concurrent.locks.ReentrantLock;
import androidx.core.content.ContextCompat;
import androidx.core.util.Pair;
import androidx.fragment.app.DialogFragment;
@PluginFactory.LoadablePlugin
public class RemoteKeyboardPlugin extends Plugin {
@ -403,7 +404,7 @@ public class RemoteKeyboardPlugin extends Plugin {
}
@Override
public AlertDialogFragment getPermissionExplanationDialog(int requestCode) {
public DialogFragment getPermissionExplanationDialog() {
return new StartActivityAlertDialogFragment.Builder()
.setTitle(R.string.pref_plugin_remotekeyboard)
.setMessage(R.string.no_permissions_remotekeyboard)
@ -411,7 +412,7 @@ public class RemoteKeyboardPlugin extends Plugin {
.setNegativeButton(R.string.cancel)
.setIntentAction(Settings.ACTION_INPUT_METHOD_SETTINGS)
.setStartForResult(true)
.setRequestCode(requestCode)
.setRequestCode(MainActivity.RESULT_NEEDS_RELOAD)
.create();
}
}

View File

@ -96,7 +96,7 @@ public class SftpPlugin extends Plugin implements SharedPreferences.OnSharedPref
}
@Override
public AlertDialogFragment getOptionalPermissionExplanationDialog(int requestCode) {
public AlertDialogFragment getOptionalPermissionExplanationDialog() {
return new DeviceSettingsAlertDialogFragment.Builder()
.setTitle(getDisplayName())
.setMessage(R.string.sftp_saf_permission_explanation)

View File

@ -37,6 +37,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment;
import org.kde.kdeconnect.BackgroundService;
@ -324,13 +325,13 @@ public class DeviceFragment extends Fragment {
pluginListItems.add(new PluginItem(p, v -> p.startMainActivity(mActivity)));
}
DeviceFragment.this.createPluginsList(device.getPluginsWithoutPermissions(), R.string.plugins_need_permission, (plugin) -> {
AlertDialogFragment dialog = plugin.getPermissionExplanationDialog(MainActivity.RESULT_NEEDS_RELOAD);
DialogFragment dialog = plugin.getPermissionExplanationDialog();
if (dialog != null) {
dialog.show(getChildFragmentManager(), null);
}
});
DeviceFragment.this.createPluginsList(device.getPluginsWithoutOptionalPermissions(), R.string.plugins_need_optional_permission, (plugin) -> {
AlertDialogFragment dialog = plugin.getOptionalPermissionExplanationDialog(MainActivity.RESULT_NEEDS_RELOAD);
DialogFragment dialog = plugin.getOptionalPermissionExplanationDialog();
if (dialog != null) {
dialog.show(getChildFragmentManager(), null);