Search in sources :

Example 1 with AboutFragment

use of com.farmerbb.taskbar.fragment.AboutFragment in project Taskbar by farmerbb.

the class MainActivity method onBackPressed.

@Override
public void onBackPressed() {
    Fragment oldFragment = getFragmentManager().findFragmentById(R.id.fragmentContainer);
    if (oldFragment instanceof AboutFragment)
        super.onBackPressed();
    else {
        Fragment newFragment;
        if (oldFragment instanceof ManageAppDataFragment)
            newFragment = new AdvancedFragment();
        else
            newFragment = new AboutFragment();
        getFragmentManager().beginTransaction().replace(R.id.fragmentContainer, newFragment, newFragment.getClass().getSimpleName()).setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE).commit();
    }
}
Also used : AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) AdvancedFragment(com.farmerbb.taskbar.fragment.AdvancedFragment) ManageAppDataFragment(com.farmerbb.taskbar.fragment.ManageAppDataFragment) DesktopModeFragment(com.farmerbb.taskbar.fragment.DesktopModeFragment) SettingsFragment(com.farmerbb.taskbar.fragment.SettingsFragment) FreeformModeFragment(com.farmerbb.taskbar.fragment.FreeformModeFragment) AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) ManageAppDataFragment(com.farmerbb.taskbar.fragment.ManageAppDataFragment) Fragment(android.app.Fragment) AdvancedFragment(com.farmerbb.taskbar.fragment.AdvancedFragment) AppearanceFragment(com.farmerbb.taskbar.fragment.AppearanceFragment)

Example 2 with AboutFragment

use of com.farmerbb.taskbar.fragment.AboutFragment in project Taskbar by farmerbb.

the class MainActivity method proceedWithAppLaunch.

private void proceedWithAppLaunch(Bundle savedInstanceState) {
    setContentView(R.layout.main);
    ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setCustomView(R.layout.switch_layout);
        actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_CUSTOM);
    }
    theSwitch = U.findViewById(this, R.id.the_switch);
    if (theSwitch != null) {
        final SharedPreferences pref = U.getSharedPreferences(this);
        theSwitch.setChecked(pref.getBoolean("taskbar_active", false));
        theSwitch.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b) {
                if (U.canDrawOverlays(this)) {
                    boolean firstRun = pref.getBoolean("first_run", true);
                    startTaskbarService();
                    if (firstRun)
                        U.showRecentAppsDialog(this);
                } else {
                    U.showPermissionDialog(this);
                    compoundButton.setChecked(false);
                }
            } else
                stopTaskbarService();
        });
    }
    if (savedInstanceState == null) {
        if (!getIntent().hasExtra("theme_change"))
            getFragmentManager().beginTransaction().replace(R.id.fragmentContainer, new AboutFragment(), "AboutFragment").commit();
        else
            getFragmentManager().beginTransaction().replace(R.id.fragmentContainer, new AppearanceFragment(), "AppearanceFragment").commit();
    }
    if (!BuildConfig.APPLICATION_ID.equals(BuildConfig.BASE_APPLICATION_ID) && freeVersionInstalled()) {
        final SharedPreferences pref = U.getSharedPreferences(this);
        if (!pref.getBoolean("dont_show_uninstall_dialog", false)) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.settings_imported_successfully).setMessage(R.string.import_dialog_message).setPositiveButton(R.string.action_uninstall, (dialog, which) -> {
                pref.edit().putBoolean("uninstall_dialog_shown", true).apply();
                try {
                    startActivity(new Intent(Intent.ACTION_DELETE, Uri.parse("package:" + BuildConfig.BASE_APPLICATION_ID)));
                } catch (ActivityNotFoundException e) {
                /* Gracefully fail */
                }
            });
            if (pref.getBoolean("uninstall_dialog_shown", false))
                builder.setNegativeButton(R.string.action_dont_show_again, (dialogInterface, i) -> pref.edit().putBoolean("dont_show_uninstall_dialog", true).apply());
            AlertDialog dialog = builder.create();
            dialog.show();
            dialog.setCancelable(false);
        }
        if (!pref.getBoolean("uninstall_dialog_shown", false)) {
            if (theSwitch != null)
                theSwitch.setChecked(false);
            SharedPreferences.Editor editor = pref.edit();
            String iconPack = pref.getString("icon_pack", BuildConfig.BASE_APPLICATION_ID);
            if (iconPack.contains(BuildConfig.BASE_APPLICATION_ID)) {
                editor.putString("icon_pack", BuildConfig.APPLICATION_ID);
            } else {
                U.refreshPinnedIcons(this);
            }
            editor.putBoolean("first_run", true);
            editor.apply();
        }
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) {
        ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
        if (shortcutManager.getDynamicShortcuts().size() == 0) {
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.setClass(this, StartTaskbarActivity.class);
            intent.putExtra("is_launching_shortcut", true);
            ShortcutInfo shortcut = new ShortcutInfo.Builder(this, "start_taskbar").setShortLabel(getString(R.string.start_taskbar)).setIcon(Icon.createWithResource(this, R.drawable.shortcut_icon_start)).setIntent(intent).build();
            Intent intent2 = new Intent(Intent.ACTION_MAIN);
            intent2.setClass(this, ShortcutActivity.class);
            intent2.putExtra("is_launching_shortcut", true);
            ShortcutInfo shortcut2 = new ShortcutInfo.Builder(this, "freeform_mode").setShortLabel(getString(R.string.pref_header_freeform)).setIcon(Icon.createWithResource(this, R.drawable.shortcut_icon_freeform)).setIntent(intent2).build();
            shortcutManager.setDynamicShortcuts(Arrays.asList(shortcut, shortcut2));
        }
    }
}
Also used : AlertDialog(android.app.AlertDialog) Context(android.content.Context) Arrays(java.util.Arrays) Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) StartMenuService(com.farmerbb.taskbar.service.StartMenuService) Uri(android.net.Uri) Intent(android.content.Intent) FragmentTransaction(android.app.FragmentTransaction) LocalBroadcastManager(android.support.v4.content.LocalBroadcastManager) NotificationService(com.farmerbb.taskbar.service.NotificationService) StartTaskbarActivity(com.farmerbb.taskbar.activity.StartTaskbarActivity) PackageInfo(android.content.pm.PackageInfo) IconCache(com.farmerbb.taskbar.util.IconCache) AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) Icon(android.graphics.drawable.Icon) Build(android.os.Build) ActionBar(android.support.v7.app.ActionBar) LauncherHelper(com.farmerbb.taskbar.util.LauncherHelper) ComponentName(android.content.ComponentName) ShortcutInfo(android.content.pm.ShortcutInfo) IntentFilter(android.content.IntentFilter) U(com.farmerbb.taskbar.util.U) SwitchCompat(android.support.v7.widget.SwitchCompat) AppearanceFragment(com.farmerbb.taskbar.fragment.AppearanceFragment) BroadcastReceiver(android.content.BroadcastReceiver) ShortcutManager(android.content.pm.ShortcutManager) AppCompatActivity(android.support.v7.app.AppCompatActivity) FreeformHackHelper(com.farmerbb.taskbar.util.FreeformHackHelper) File(java.io.File) AlertDialog(android.app.AlertDialog) TaskbarService(com.farmerbb.taskbar.service.TaskbarService) SharedPreferences(android.content.SharedPreferences) DashboardService(com.farmerbb.taskbar.service.DashboardService) ActivityNotFoundException(android.content.ActivityNotFoundException) KeyboardShortcutActivity(com.farmerbb.taskbar.activity.KeyboardShortcutActivity) ShortcutActivity(com.farmerbb.taskbar.activity.ShortcutActivity) HomeActivity(com.farmerbb.taskbar.activity.HomeActivity) ImportSettingsActivity(com.farmerbb.taskbar.activity.ImportSettingsActivity) AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) ShortcutInfo(android.content.pm.ShortcutInfo) SharedPreferences(android.content.SharedPreferences) ShortcutManager(android.content.pm.ShortcutManager) Intent(android.content.Intent) AppearanceFragment(com.farmerbb.taskbar.fragment.AppearanceFragment) ActivityNotFoundException(android.content.ActivityNotFoundException) ActionBar(android.support.v7.app.ActionBar)

Example 3 with AboutFragment

use of com.farmerbb.taskbar.fragment.AboutFragment in project Taskbar by farmerbb.

the class MainActivity method proceedWithAppLaunch.

@SuppressWarnings("ResultOfMethodCallIgnored")
private void proceedWithAppLaunch(Bundle savedInstanceState) {
    try {
        setContentView(R.layout.tb_main);
    } catch (IllegalStateException e) {
        setTheme(R.style.Theme_AppCompat_Light);
        setContentView(R.layout.tb_main);
    }
    if (!U.isLibrary(this)) {
        setSupportActionBar(findViewById(R.id.toolbar));
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE);
        }
    }
    theSwitch = findViewById(R.id.the_switch);
    helpButton = findViewById(R.id.help_button);
    if (theSwitch != null) {
        final SharedPreferences pref = U.getSharedPreferences(this);
        theSwitch.setChecked(pref.getBoolean(PREF_TASKBAR_ACTIVE, false));
        theSwitch.setOnCheckedChangeListener((compoundButton, b) -> {
            if (b) {
                if (U.canDrawOverlays(this)) {
                    boolean firstRun = pref.getBoolean(PREF_FIRST_RUN, true);
                    startTaskbarService();
                    if (firstRun)
                        U.showRecentAppsDialog(this);
                } else {
                    U.showPermissionDialog(this);
                    compoundButton.setChecked(false);
                }
            } else
                stopTaskbarService();
        });
    }
    if (savedInstanceState == null) {
        U.initPrefs(this);
        File restoreInProgress = new File(getFilesDir(), "restore_in_progress");
        File restoreSuccessful = new File(getFilesDir(), "restore_successful");
        if (restoreInProgress.exists() || restoreSuccessful.exists()) {
            if (restoreInProgress.exists()) {
                U.showToastLong(this, R.string.tb_restore_failed);
                restoreInProgress.delete();
            }
            if (restoreSuccessful.exists()) {
                U.showToastLong(this, R.string.tb_restore_successful);
                restoreSuccessful.delete();
            }
            navigateTo(new ManageAppDataFragment());
        } else if (!getIntent().hasExtra("theme_change"))
            navigateTo(new AboutFragment());
        else
            navigateTo(new AppearanceFragment());
    } else
        try {
            Fragment oldFragment = getFragmentManager().findFragmentById(R.id.fragmentContainer);
            navigateTo(oldFragment.getClass().newInstance());
        } catch (IllegalAccessException | InstantiationException ignored) {
        }
    SharedPreferences pref = U.getSharedPreferences(this);
    if (!getPackageName().equals(BuildConfig.BASE_APPLICATION_ID) && freeVersionInstalled()) {
        if (!pref.getBoolean(PREF_DONT_SHOW_UNINSTALL_DIALOG, false)) {
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle(R.string.tb_settings_imported_successfully).setMessage(R.string.tb_import_dialog_message).setPositiveButton(R.string.tb_action_uninstall, (dialog, which) -> {
                pref.edit().putBoolean(PREF_UNINSTALL_DIALOG_SHOWN, true).apply();
                try {
                    startActivity(new Intent(Intent.ACTION_DELETE, Uri.parse("package:" + BuildConfig.BASE_APPLICATION_ID)));
                } catch (ActivityNotFoundException ignored) {
                }
            });
            if (pref.getBoolean(PREF_UNINSTALL_DIALOG_SHOWN, false))
                builder.setNegativeButton(R.string.tb_action_dont_show_again, (dialogInterface, i) -> pref.edit().putBoolean(PREF_DONT_SHOW_UNINSTALL_DIALOG, true).apply());
            AlertDialog dialog = builder.create();
            dialog.show();
            dialog.setCancelable(false);
        }
        if (!pref.getBoolean(PREF_UNINSTALL_DIALOG_SHOWN, false)) {
            if (theSwitch != null)
                theSwitch.setChecked(false);
            SharedPreferences.Editor editor = pref.edit();
            String iconPack = pref.getString(PREF_ICON_PACK, BuildConfig.BASE_APPLICATION_ID);
            if (iconPack.contains(BuildConfig.BASE_APPLICATION_ID)) {
                editor.putString(PREF_ICON_PACK, getPackageName());
            } else {
                U.refreshPinnedIcons(this);
            }
            editor.putBoolean(PREF_FIRST_RUN, true);
            editor.apply();
        }
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1 && !U.isLibrary(this)) {
        ShortcutManager shortcutManager = getSystemService(ShortcutManager.class);
        if (shortcutManager.getDynamicShortcuts().size() == 0) {
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.setClass(this, StartTaskbarActivity.class);
            intent.putExtra(EXTRA_IS_LAUNCHING_SHORTCUT, true);
            ShortcutInfo shortcut = new ShortcutInfo.Builder(this, "start_taskbar").setShortLabel(getString(R.string.tb_start_taskbar)).setIcon(Icon.createWithResource(this, R.drawable.tb_shortcut_icon_start)).setIntent(intent).build();
            if (U.enableFreeformModeShortcut(this)) {
                Intent intent2 = new Intent(Intent.ACTION_MAIN);
                intent2.setClass(this, ShortcutActivity.class);
                intent2.putExtra(EXTRA_IS_LAUNCHING_SHORTCUT, true);
                ShortcutInfo shortcut2 = new ShortcutInfo.Builder(this, "freeform_mode").setShortLabel(getString(R.string.tb_pref_header_freeform)).setIcon(Icon.createWithResource(this, R.drawable.tb_shortcut_icon_freeform)).setIntent(intent2).build();
                shortcutManager.setDynamicShortcuts(Arrays.asList(shortcut, shortcut2));
            } else
                shortcutManager.setDynamicShortcuts(Collections.singletonList(shortcut));
        }
    }
    if (pref.getInt("show_changelog", 0) < latestChangelogVersion && U.isConsumerBuild(this)) {
        Snackbar snackbar = Snackbar.make(findViewById(R.id.main_activity_layout), R.string.tb_see_whats_new, Snackbar.LENGTH_INDEFINITE);
        snackbar.setAction(R.string.tb_action_view, v -> {
            pref.edit().putInt("show_changelog", latestChangelogVersion).apply();
            Uri uri = Uri.parse("https://github.com/farmerbb/Taskbar/blob/" + BuildConfig.VERSION_CODE + "/CHANGELOG.md");
            try {
                DependencyUtils.openChromeCustomTab(this, uri);
            } catch (ActivityNotFoundException | IllegalArgumentException ignored) {
            }
        });
        snackbar.show();
    }
}
Also used : AlertDialog(android.app.AlertDialog) Context(android.content.Context) Arrays(java.util.Arrays) Bundle(android.os.Bundle) PackageManager(android.content.pm.PackageManager) NonNull(androidx.annotation.NonNull) StartMenuService(com.farmerbb.taskbar.service.StartMenuService) Uri(android.net.Uri) ImageView(android.widget.ImageView) GlobalHelper(com.farmerbb.taskbar.helper.GlobalHelper) Intent(android.content.Intent) FragmentTransaction(android.app.FragmentTransaction) NotificationService(com.farmerbb.taskbar.service.NotificationService) DependencyUtils(com.farmerbb.taskbar.util.DependencyUtils) PackageInfo(android.content.pm.PackageInfo) AppCompatActivity(androidx.appcompat.app.AppCompatActivity) DesktopModeFragment(com.farmerbb.taskbar.fragment.DesktopModeFragment) ActionBar(androidx.appcompat.app.ActionBar) SettingsFragment(com.farmerbb.taskbar.fragment.SettingsFragment) FreeformModeFragment(com.farmerbb.taskbar.fragment.FreeformModeFragment) View(android.view.View) AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) Icon(android.graphics.drawable.Icon) Build(android.os.Build) ManageAppDataFragment(com.farmerbb.taskbar.fragment.ManageAppDataFragment) TargetApi(android.annotation.TargetApi) Fragment(android.app.Fragment) BuildConfig(com.farmerbb.taskbar.BuildConfig) SwitchCompat(androidx.appcompat.widget.SwitchCompat) R(com.farmerbb.taskbar.R) ShortcutInfo(android.content.pm.ShortcutInfo) U(com.farmerbb.taskbar.util.U) AdvancedFragment(com.farmerbb.taskbar.fragment.AdvancedFragment) AppearanceFragment(com.farmerbb.taskbar.fragment.AppearanceFragment) BroadcastReceiver(android.content.BroadcastReceiver) ShortcutManager(android.content.pm.ShortcutManager) File(java.io.File) LauncherHelper(com.farmerbb.taskbar.helper.LauncherHelper) AlertDialog(android.app.AlertDialog) TaskbarService(com.farmerbb.taskbar.service.TaskbarService) FreeformHackHelper(com.farmerbb.taskbar.helper.FreeformHackHelper) TextView(android.widget.TextView) SharedPreferences(android.content.SharedPreferences) DashboardService(com.farmerbb.taskbar.service.DashboardService) ActivityNotFoundException(android.content.ActivityNotFoundException) Snackbar(com.google.android.material.snackbar.Snackbar) Collections(java.util.Collections) Constants(com.farmerbb.taskbar.util.Constants) AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) ShortcutInfo(android.content.pm.ShortcutInfo) SharedPreferences(android.content.SharedPreferences) ManageAppDataFragment(com.farmerbb.taskbar.fragment.ManageAppDataFragment) ShortcutManager(android.content.pm.ShortcutManager) Intent(android.content.Intent) AppearanceFragment(com.farmerbb.taskbar.fragment.AppearanceFragment) DesktopModeFragment(com.farmerbb.taskbar.fragment.DesktopModeFragment) SettingsFragment(com.farmerbb.taskbar.fragment.SettingsFragment) FreeformModeFragment(com.farmerbb.taskbar.fragment.FreeformModeFragment) AboutFragment(com.farmerbb.taskbar.fragment.AboutFragment) ManageAppDataFragment(com.farmerbb.taskbar.fragment.ManageAppDataFragment) Fragment(android.app.Fragment) AdvancedFragment(com.farmerbb.taskbar.fragment.AdvancedFragment) AppearanceFragment(com.farmerbb.taskbar.fragment.AppearanceFragment) Uri(android.net.Uri) ActivityNotFoundException(android.content.ActivityNotFoundException) File(java.io.File) ActionBar(androidx.appcompat.app.ActionBar) Snackbar(com.google.android.material.snackbar.Snackbar)

Aggregations

AboutFragment (com.farmerbb.taskbar.fragment.AboutFragment)3 AppearanceFragment (com.farmerbb.taskbar.fragment.AppearanceFragment)3 AlertDialog (android.app.AlertDialog)2 Fragment (android.app.Fragment)2 FragmentTransaction (android.app.FragmentTransaction)2 ActivityNotFoundException (android.content.ActivityNotFoundException)2 BroadcastReceiver (android.content.BroadcastReceiver)2 Context (android.content.Context)2 Intent (android.content.Intent)2 SharedPreferences (android.content.SharedPreferences)2 PackageInfo (android.content.pm.PackageInfo)2 PackageManager (android.content.pm.PackageManager)2 ShortcutInfo (android.content.pm.ShortcutInfo)2 ShortcutManager (android.content.pm.ShortcutManager)2 Icon (android.graphics.drawable.Icon)2 Uri (android.net.Uri)2 Build (android.os.Build)2 Bundle (android.os.Bundle)2 DashboardService (com.farmerbb.taskbar.service.DashboardService)2 NotificationService (com.farmerbb.taskbar.service.NotificationService)2