OSDN Git Service

Move SecondScreen shortcut to "Advanced features"
authorBraden Farmer <farmerbb@gmail.com>
Tue, 23 Jan 2018 04:12:46 +0000 (21:12 -0700)
committerBraden Farmer <farmerbb@gmail.com>
Tue, 23 Jan 2018 04:12:46 +0000 (21:12 -0700)
app/src/main/java/com/farmerbb/taskbar/fragment/AdvancedFragment.java
app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java
app/src/main/res/xml/pref_advanced.xml
app/src/main/res/xml/pref_freeform_hack.xml

index e07890b..75020f6 100644 (file)
 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;
+    }
 }
index 9e8271e..6bf3e87 100644 (file)
@@ -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;
-    }
 }
index 0542a7e..844efce 100644 (file)
         android:summary="@string/navigation_bar_buttons_description" />
 
     <Preference
+        android:key="secondscreen"
+        android:summary="@string/pref_secondscreen_description"
+        android:widgetLayout="@layout/secondscreen_pref_widget"/>
+
+    <Preference
         android:key="clear_pinned_apps"
         android:title="@string/clear_pinned_apps"/>
 
index 14e2256..b5c3721 100644 (file)
         android:key="freeform_mode_help"
         android:title="@string/pref_title_freeform_mode_help" />
 
-    <Preference
-        android:key="secondscreen"
-        android:summary="@string/pref_secondscreen_description"
-        android:widgetLayout="@layout/secondscreen_pref_widget"/>
-
     <PreferenceCategory android:key="dummy" android:title="\n\n" />
 
 </PreferenceScreen>
\ No newline at end of file