diff options
author | Roman Birg <roman@cyngn.com> | 2016-08-29 16:26:56 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-08-29 16:26:56 -0700 |
commit | 33b5c82b68ecf8c18f284214b65db0c2e80589ce (patch) | |
tree | 41741e034f2057289f485f49761ebe6bc2135532 /src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java | |
parent | 10fc11011278db3da38e3d28f729887426c1c3a1 (diff) | |
parent | 71e5da3c38e5a7e79d5c1f94a13f239cc7ca7458 (diff) | |
download | android_packages_apps_AudioFX-33b5c82b68ecf8c18f284214b65db0c2e80589ce.tar.gz android_packages_apps_AudioFX-33b5c82b68ecf8c18f284214b65db0c2e80589ce.tar.bz2 android_packages_apps_AudioFX-33b5c82b68ecf8c18f284214b65db0c2e80589ce.zip |
Merge "AudioFX: finish rename; persist process" into cm-13.0
Diffstat (limited to 'src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java')
-rw-r--r-- | src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java b/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java new file mode 100644 index 0000000..4a0eed6 --- /dev/null +++ b/src/org/cyanogenmod/audiofx/fragment/ControlsFragment.java @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2016 The CyanogenMod Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.cyanogenmod.audiofx.fragment; + +import android.annotation.Nullable; +import android.media.AudioDeviceInfo; +import android.os.Bundle; +import android.util.Log; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.CheckBox; +import android.widget.CompoundButton; + +import org.cyanogenmod.audiofx.R; +import org.cyanogenmod.audiofx.activity.MasterConfigControl; +import org.cyanogenmod.audiofx.knobs.KnobCommander; +import org.cyanogenmod.audiofx.knobs.KnobContainer; +import org.cyanogenmod.audiofx.stats.UserSession; + +public class ControlsFragment extends AudioFxBaseFragment { + + private static final String TAG = ControlsFragment.class.getSimpleName(); + private static final boolean DEBUG = false; + + KnobCommander mKnobCommander; + KnobContainer mKnobContainer; + CheckBox mMaxxVolumeSwitch; + + private CompoundButton.OnCheckedChangeListener mMaxxVolumeListener + = new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + if (mConfig.getMaxxVolumeEnabled() != isChecked) { + UserSession.getInstance().maxxVolumeToggled(); + } + mConfig.setMaxxVolumeEnabled(isChecked); + } + }; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mKnobCommander = KnobCommander.getInstance(getActivity()); + } + + @Override + public void onPause() { + MasterConfigControl.getInstance(getActivity()).getCallbacks().removeDeviceChangedCallback(mKnobContainer); + super.onPause(); + } + + @Override + public void onResume() { + super.onResume(); + MasterConfigControl.getInstance(getActivity()).getCallbacks().addDeviceChangedCallback(mKnobContainer); + } + + @Override + public void updateFragmentBackgroundColors(int color) { + if (mKnobContainer != null) { + mKnobContainer.updateKnobHighlights(color); + } + } + + + public void updateEnabledState() { + final AudioDeviceInfo device = mConfig.getCurrentDevice(); + boolean currentDeviceEnabled = mConfig.isCurrentDeviceEnabled(); + + if (DEBUG) { + Log.d(TAG, "updating with current device: " + device.getType()); + } + + if (mMaxxVolumeSwitch != null) { + mMaxxVolumeSwitch.setChecked(mConfig.getMaxxVolumeEnabled()); + mMaxxVolumeSwitch.setEnabled(currentDeviceEnabled); + } + } + + @Override + public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, + Bundle savedInstanceState) { + View root = inflater.inflate(mConfig.hasMaxxAudio() ? R.layout.controls_maxx_audio + : R.layout.controls_generic, container, false); + return root; + } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + + mKnobContainer = (KnobContainer) view.findViewById(R.id.knob_container); + mMaxxVolumeSwitch = (CheckBox) view.findViewById(R.id.maxx_volume_switch); + + updateFragmentBackgroundColors(getCurrentBackgroundColor()); + + if (mMaxxVolumeSwitch != null) { + mMaxxVolumeSwitch.setOnCheckedChangeListener(mMaxxVolumeListener); + } + } + + +} |