summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/cm_strings.xml5
-rw-r--r--src/com/cyngn/audiofx/Compatibility.java16
-rw-r--r--src/com/cyngn/audiofx/Constants.java9
-rw-r--r--src/com/cyngn/audiofx/fragment/AudioFxFragment.java62
4 files changed, 69 insertions, 23 deletions
diff --git a/res/values/cm_strings.xml b/res/values/cm_strings.xml
index a3e5cbd..acbc92e 100644
--- a/res/values/cm_strings.xml
+++ b/res/values/cm_strings.xml
@@ -15,6 +15,11 @@
limitations under the License.
-->
<resources xmlns:xliff="rn:oasis:names:tc:xliff:document:1.2">
+
+ <string name="snack_bar_not_default">AudioFX is not your default effects control panel.</string>
+ <string name="snack_bar_not_default_set">Set default</string>
+ <string name="snack_bar_not_default_not_now">Not now</string>
+
<string name="normal">Normal</string>
<string name="classical">Classical</string>
<string name="dance">Dance</string>
diff --git a/src/com/cyngn/audiofx/Compatibility.java b/src/com/cyngn/audiofx/Compatibility.java
index 9819659..313c480 100644
--- a/src/com/cyngn/audiofx/Compatibility.java
+++ b/src/com/cyngn/audiofx/Compatibility.java
@@ -66,8 +66,8 @@ public class Compatibility {
Intent i = new Intent(getIntent());
i.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
SharedPreferences pref = getSharedPreferences("musicfx", MODE_PRIVATE);
- String defPackage = pref.getString("defaultpanelpackage", null);
- String defName = pref.getString("defaultpanelname", null);
+ String defPackage = pref.getString(Constants.MUSICFX_DEFAULT_PACKAGE_KEY, null);
+ String defName = pref.getString(Constants.MUSICFX_DEFAULT_PANEL_KEY, null);
log("read " + defPackage + "/" + defName + " as default");
if (defPackage == null || defName == null) {
Log.e(TAG, "no default set!");
@@ -153,9 +153,9 @@ public class Compatibility {
Intent i = new Intent(AudioEffect.ACTION_DISPLAY_AUDIO_EFFECT_CONTROL_PANEL);
List<ResolveInfo> ris = mPackageManager.queryIntentActivities(i, PackageManager.GET_DISABLED_COMPONENTS);
log("found: " + ris.size());
- SharedPreferences pref = getSharedPreferences("musicfx", MODE_PRIVATE);
- String savedDefPackage = pref.getString("defaultpanelpackage", null);
- String savedDefName = pref.getString("defaultpanelname", null);
+ SharedPreferences pref = Constants.getMusicFxPrefs(this);
+ String savedDefPackage = pref.getString(Constants.MUSICFX_DEFAULT_PACKAGE_KEY, null);
+ String savedDefName = pref.getString(Constants.MUSICFX_DEFAULT_PANEL_KEY, null);
log("saved default: " + savedDefName);
for (ResolveInfo foo: ris) {
if (foo.activityInfo.name.equals(Compatibility.Redirector.class.getName())) {
@@ -210,10 +210,10 @@ public class Compatibility {
// Write the selected default to the prefs so that the Redirector activity
// knows which one to use.
- SharedPreferences pref = getSharedPreferences("musicfx", MODE_PRIVATE);
+ SharedPreferences pref = Constants.getMusicFxPrefs(this);
Editor ed = pref.edit();
- ed.putString("defaultpanelpackage", defPackage);
- ed.putString("defaultpanelname", defName);
+ ed.putString(Constants.MUSICFX_DEFAULT_PACKAGE_KEY, defPackage);
+ ed.putString(Constants.MUSICFX_DEFAULT_PANEL_KEY, defName);
ed.commit();
log("wrote " + defPackage + "/" + defName + " as default");
}
diff --git a/src/com/cyngn/audiofx/Constants.java b/src/com/cyngn/audiofx/Constants.java
index 77bc730..61d53cc 100644
--- a/src/com/cyngn/audiofx/Constants.java
+++ b/src/com/cyngn/audiofx/Constants.java
@@ -67,6 +67,15 @@ public class Constants {
public static final String EQUALIZER_PRESET = "equalizer.preset.";
public static final String EQUALIZER_PRESET_NAMES = "equalizer.preset_names";
+ // musicfx constants
+ public static final String MUSICFX_PREF_NAME = "musicfx";
+ public static final String MUSICFX_DEFAULT_PACKAGE_KEY = "defaultpanelpackage";
+ public static final String MUSICFX_DEFAULT_PANEL_KEY = "defaultpanelname";
+
+ public static SharedPreferences getMusicFxPrefs(Context context) {
+ return context.getSharedPreferences(MUSICFX_PREF_NAME, Context.MODE_PRIVATE);
+ }
+
public static SharedPreferences getGlobalPrefs(Context context) {
return context.getSharedPreferences(AUDIOFX_GLOBAL_FILE, 0);
}
diff --git a/src/com/cyngn/audiofx/fragment/AudioFxFragment.java b/src/com/cyngn/audiofx/fragment/AudioFxFragment.java
index fe341e7..be8ff93 100644
--- a/src/com/cyngn/audiofx/fragment/AudioFxFragment.java
+++ b/src/com/cyngn/audiofx/fragment/AudioFxFragment.java
@@ -5,8 +5,12 @@ import android.animation.ArgbEvaluator;
import android.animation.ValueAnimator;
import android.annotation.Nullable;
import android.app.Activity;
+import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentTransaction;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.SharedPreferences;
import android.media.AudioDeviceInfo;
import android.os.Bundle;
import android.os.Handler;
@@ -19,7 +23,8 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
-
+import com.cyngn.audiofx.Compatibility;
+import com.cyngn.audiofx.Constants;
import com.cyngn.audiofx.R;
import com.cyngn.audiofx.activity.ActivityMusic;
import com.cyngn.audiofx.activity.EqualizerManager;
@@ -31,17 +36,6 @@ import com.cyngn.audiofx.widget.InterceptableLinearLayout;
import java.util.List;
import java.util.Map;
-import static android.media.AudioDeviceInfo.TYPE_BLUETOOTH_A2DP;
-import static android.media.AudioDeviceInfo.TYPE_BLUETOOTH_SCO;
-import static android.media.AudioDeviceInfo.TYPE_DOCK;
-import static android.media.AudioDeviceInfo.TYPE_IP;
-import static android.media.AudioDeviceInfo.TYPE_LINE_ANALOG;
-import static android.media.AudioDeviceInfo.TYPE_LINE_DIGITAL;
-import static android.media.AudioDeviceInfo.TYPE_USB_ACCESSORY;
-import static android.media.AudioDeviceInfo.TYPE_USB_DEVICE;
-import static android.media.AudioDeviceInfo.TYPE_WIRED_HEADPHONES;
-import static android.media.AudioDeviceInfo.TYPE_WIRED_HEADSET;
-
public class AudioFxFragment extends Fragment implements ActivityMusic.ActivityStateListener,
StateCallbacks.DeviceChangedCallback {
@@ -164,8 +158,46 @@ public class AudioFxFragment extends Fragment implements ActivityMusic.ActivityS
mCurrentBackgroundColor = !mConfig.isCurrentDeviceEnabled()
? mDisabledColor
: mEqManager.getAssociatedPresetColorHex(
- mEqManager.getCurrentPresetIndex());
+ mEqManager.getCurrentPresetIndex());
updateBackgroundColors(mCurrentBackgroundColor, false);
+
+ promptIfNotDefault();
+ }
+
+ private void promptIfNotDefault() {
+ final String audioFxPackageName = getActivity().getPackageName();
+
+ final SharedPreferences musicFxPrefs = Constants.getMusicFxPrefs(getActivity());
+ final String defaultPackage = musicFxPrefs.getString(Constants.MUSICFX_DEFAULT_PACKAGE_KEY,
+ audioFxPackageName);
+ final boolean notDefault = !defaultPackage.equals(audioFxPackageName);
+
+ if (notDefault) {
+ new AlertDialog.Builder(getActivity())
+ .setMessage(R.string.snack_bar_not_default)
+ .setNegativeButton(R.string.snack_bar_not_default_not_now,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ getActivity().finish();
+ }
+ })
+ .setPositiveButton(R.string.snack_bar_not_default_set,
+ new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ Intent updateIntent = new Intent(getActivity(),
+ Compatibility.Service.class);
+ updateIntent.putExtra("defPackage", audioFxPackageName);
+ updateIntent.putExtra("defName", ActivityMusic.class.getName());
+ getActivity().startService(updateIntent);
+ dialog.dismiss();
+ }
+ })
+ .setCancelable(false)
+ .create()
+ .show();
+ }
}
@Override
@@ -303,7 +335,7 @@ public class AudioFxFragment extends Fragment implements ActivityMusic.ActivityS
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
- Bundle savedInstanceState) {
+ Bundle savedInstanceState) {
if (container == null) {
Log.w(TAG, "container is null.");
// no longer displaying this fragment
@@ -365,7 +397,7 @@ public class AudioFxFragment extends Fragment implements ActivityMusic.ActivityS
}
public void animateBackgroundColorTo(int colorTo, Animator.AnimatorListener listener,
- ColorUpdateListener updateListener) {
+ ColorUpdateListener updateListener) {
if (mColorChangeAnimator != null) {
mColorChangeAnimator.cancel();
mColorChangeAnimator = null;