From b2ce1b13c1924d40861155f7701692110dea2570 Mon Sep 17 00:00:00 2001 From: Braden Farmer Date: Mon, 22 Jan 2018 21:12:46 -0700 Subject: [PATCH] Move SecondScreen shortcut to "Advanced features" --- .../taskbar/fragment/AdvancedFragment.java | 52 +++++++++++++++++++++ .../taskbar/fragment/FreeformModeFragment.java | 53 ---------------------- app/src/main/res/xml/pref_advanced.xml | 5 ++ app/src/main/res/xml/pref_freeform_hack.xml | 5 -- 4 files changed, 57 insertions(+), 58 deletions(-) diff --git a/app/src/main/java/com/farmerbb/taskbar/fragment/AdvancedFragment.java b/app/src/main/java/com/farmerbb/taskbar/fragment/AdvancedFragment.java index e07890b9..75020f63 100644 --- a/app/src/main/java/com/farmerbb/taskbar/fragment/AdvancedFragment.java +++ b/app/src/main/java/com/farmerbb/taskbar/fragment/AdvancedFragment.java @@ -16,12 +16,14 @@ package com.farmerbb.taskbar.fragment; import android.annotation.SuppressLint; +import android.content.ActivityNotFoundException; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.res.Configuration; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.preference.CheckBoxPreference; @@ -65,6 +67,17 @@ public class AdvancedFragment extends SettingsFragment implements Preference.OnP findPreference("navigation_bar_buttons").setOnPreferenceClickListener(this); findPreference("keyboard_shortcut").setSummary(DependencyUtils.getKeyboardShortcutSummary(getActivity())); + if(!BuildConfig.APPLICATION_ID.equals(BuildConfig.ANDROIDX86_APPLICATION_ID) + && !U.hasSupportLibrary(getActivity()) + && U.isPlayStoreInstalled(getActivity())) { + findPreference("secondscreen").setOnPreferenceClickListener(this); + findPreference("secondscreen").setTitle( + getSecondScreenPackageName() == null + ? R.string.pref_secondscreen_title_install + : R.string.pref_secondscreen_title_open); + } else + getPreferenceScreen().removePreference(findPreference("secondscreen")); + bindPreferenceSummaryToValue(findPreference("dashboard")); SharedPreferences pref = U.getSharedPreferences(getActivity()); @@ -212,6 +225,26 @@ public class AdvancedFragment extends SettingsFragment implements Preference.OnP startActivity(intent); break; + case "secondscreen": + PackageManager packageManager = getActivity().getPackageManager(); + String packageName = getSecondScreenPackageName(); + Intent intent2; + + if(packageName == null) { + intent2 = new Intent(Intent.ACTION_VIEW); + intent2.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.farmerbb.secondscreen.free")); + } else + intent2 = packageManager.getLaunchIntentForPackage(packageName); + + if(intent2 != null) { + intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + + try { + startActivity(intent2); + } catch (ActivityNotFoundException e) { /* Gracefully fail */ } + } + + break; } return true; @@ -242,4 +275,23 @@ public class AdvancedFragment extends SettingsFragment implements Preference.OnP if(restartTaskbar) U.restartTaskbar(getActivity()); } + + private String getSecondScreenPackageName() { + PackageManager pm = getActivity().getPackageManager(); + String packageName; + + try { + packageName = "com.farmerbb.secondscreen.free"; + pm.getPackageInfo(packageName, 0); + } catch (PackageManager.NameNotFoundException e) { + try { + packageName = "com.farmerbb.secondscreen"; + pm.getPackageInfo(packageName, 0); + } catch (PackageManager.NameNotFoundException e1) { + packageName = null; + } + } + + return packageName; + } } diff --git a/app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java b/app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java index 9e8271ec..6bf3e874 100644 --- a/app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java +++ b/app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java @@ -22,8 +22,6 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.SharedPreferences; -import android.content.pm.PackageManager; -import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.preference.CheckBoxPreference; @@ -35,7 +33,6 @@ import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.View; -import com.farmerbb.taskbar.BuildConfig; import com.farmerbb.taskbar.R; import com.farmerbb.taskbar.util.FreeformHackHelper; import com.farmerbb.taskbar.util.CompatUtils; @@ -68,17 +65,6 @@ public class FreeformModeFragment extends SettingsFragment implements Preference findPreference("add_shortcut").setOnPreferenceClickListener(this); findPreference("window_size").setOnPreferenceClickListener(this); - if(!BuildConfig.APPLICATION_ID.equals(BuildConfig.ANDROIDX86_APPLICATION_ID) - && !U.hasSupportLibrary(getActivity()) - && U.isPlayStoreInstalled(getActivity())) { - findPreference("secondscreen").setOnPreferenceClickListener(this); - findPreference("secondscreen").setTitle( - getSecondScreenPackageName() == null - ? R.string.pref_secondscreen_title_install - : R.string.pref_secondscreen_title_open); - } else - getPreferenceScreen().removePreference(findPreference("secondscreen")); - bindPreferenceSummaryToValue(findPreference("window_size")); SharedPreferences pref = U.getSharedPreferences(getActivity()); @@ -217,26 +203,6 @@ public class FreeformModeFragment extends SettingsFragment implements Preference } break; - case "secondscreen": - PackageManager packageManager = getActivity().getPackageManager(); - String packageName = getSecondScreenPackageName(); - Intent intent; - - if(packageName == null) { - intent = new Intent(Intent.ACTION_VIEW); - intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=com.farmerbb.secondscreen.free")); - } else - intent = packageManager.getLaunchIntentForPackage(packageName); - - if(intent != null) { - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - try { - startActivity(intent); - } catch (ActivityNotFoundException e) { /* Gracefully fail */ } - } - - break; } return true; @@ -249,23 +215,4 @@ public class FreeformModeFragment extends SettingsFragment implements Preference U.showToastLong(getActivity(), R.string.reboot_required); } } - - private String getSecondScreenPackageName() { - PackageManager pm = getActivity().getPackageManager(); - String packageName; - - try { - packageName = "com.farmerbb.secondscreen.free"; - pm.getPackageInfo(packageName, 0); - } catch (PackageManager.NameNotFoundException e) { - try { - packageName = "com.farmerbb.secondscreen"; - pm.getPackageInfo(packageName, 0); - } catch (PackageManager.NameNotFoundException e1) { - packageName = null; - } - } - - return packageName; - } } diff --git a/app/src/main/res/xml/pref_advanced.xml b/app/src/main/res/xml/pref_advanced.xml index 0542a7e1..844efced 100644 --- a/app/src/main/res/xml/pref_advanced.xml +++ b/app/src/main/res/xml/pref_advanced.xml @@ -43,6 +43,11 @@ android:summary="@string/navigation_bar_buttons_description" /> + + diff --git a/app/src/main/res/xml/pref_freeform_hack.xml b/app/src/main/res/xml/pref_freeform_hack.xml index 14e2256d..b5c37211 100644 --- a/app/src/main/res/xml/pref_freeform_hack.xml +++ b/app/src/main/res/xml/pref_freeform_hack.xml @@ -57,11 +57,6 @@ android:key="freeform_mode_help" android:title="@string/pref_title_freeform_mode_help" /> - - \ No newline at end of file -- 2.11.0