Merge pull request #79 from Domi04151309/hide-dialog

Ask for confirmation before hiding the app
This commit is contained in:
Itai Levin
2020-06-08 19:35:38 +03:00
committed by GitHub
3 changed files with 22 additions and 9 deletions
@@ -8,6 +8,7 @@ import android.net.Uri;
import android.os.Bundle;
import android.widget.Toast;
import androidx.appcompat.app.AlertDialog;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
@@ -31,17 +32,23 @@ public class SettingsFragment extends PreferenceFragmentCompat {
mHideAppPreference = getPreferenceManager().findPreference("hideApp");
assert mHideAppPreference != null;
mHideAppPreference.setOnPreferenceClickListener(preference -> {
PackageManager p = requireContext().getPackageManager();
p.setComponentEnabledSetting(new ComponentName(context, MainActivity.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Toast.makeText(context, getString(R.string.hideClicked), Toast.LENGTH_LONG).show();
AlertDialog.Builder builder = new AlertDialog.Builder(requireContext());
builder.setTitle(R.string.hide_dialog);
builder.setMessage(R.string.hide_dialog_desc);
builder.setPositiveButton(R.string.hide_dialog_button, (dialogInterface, i) -> {
PackageManager p = requireContext().getPackageManager();
p.setComponentEnabledSetting(new ComponentName(context, MainActivity.class), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Toast.makeText(context, getString(R.string.hideClicked), Toast.LENGTH_LONG).show();
try {
context.openFileOutput("hidden", Context.MODE_PRIVATE).close();
} catch (Throwable ignored) {
}
try {
context.openFileOutput("hidden", Context.MODE_PRIVATE).close();
} catch (Throwable ignored) { }
enableDisableOptions();
requireActivity().finish();
enableDisableOptions();
requireActivity().finish();
});
builder.setNegativeButton(android.R.string.cancel, (dialogInterface, i) -> { });
builder.show();
return true;
});
@@ -17,6 +17,9 @@
<string name="hide">App verstecken</string>
<string name="hide_desc">Verstecke diese App vor dem Launcher</string>
<string name="hideClicked">Das Icon wird bald verschwinden</string>
<string name="hide_dialog">Sind Sie sich sicher?</string>
<string name="hide_dialog_desc">Sind Sie sich sicher, dass Sie diese App verstecken möchten? Es kann nur durch erneutes Installieren der App wieder rückgängig gemacht werden.</string>
<string name="hide_dialog_button">Verstecken</string>
<string name="about">Über</string>
<string name="about_dev">Entwickelt von Federico Dossena</string>
@@ -18,6 +18,9 @@
<string name="batterySaver_desc">Enable this if Bluetooth uses a lot of battery</string>
<string name="hide">Hide app</string>
<string name="hide_desc">Hide this app from the launcher</string>
<string name="hide_dialog">Are you sure?</string>
<string name="hide_dialog_desc">Are you sure that you want to hide the App? This can only be undone by reinstalling it.</string>
<string name="hide_dialog_button">Hide</string>
<string name="hideClicked">The icon will disappear soon</string>
<string name="about">About</string>