diff options
Diffstat (limited to 'src/com/android/settings/profiles/ProfileEnabler.java')
-rw-r--r-- | src/com/android/settings/profiles/ProfileEnabler.java | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/src/com/android/settings/profiles/ProfileEnabler.java b/src/com/android/settings/profiles/ProfileEnabler.java deleted file mode 100644 index 8bf450c..0000000 --- a/src/com/android/settings/profiles/ProfileEnabler.java +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Copyright (C) 2010 The Android Open Source 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 com.android.settings.profiles; - -import cyanogenmod.app.ProfileManager; -import android.content.BroadcastReceiver; -import android.content.ContentResolver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.database.ContentObserver; -import android.net.NetworkInfo; -import android.net.Uri; -import android.net.wifi.SupplicantState; -import android.net.wifi.WifiInfo; -import android.net.wifi.WifiManager; -import android.os.Handler; -import android.os.Message; -import android.widget.Switch; -import android.widget.Toast; -import com.android.settings.R; -import com.android.settings.WirelessSettings; -import com.android.settings.search.Index; -import com.android.settings.widget.SwitchBar; -import com.android.settings.wifi.WifiSettings; - -import cyanogenmod.providers.CMSettings; - -import java.util.concurrent.atomic.AtomicBoolean; - -public class ProfileEnabler implements SwitchBar.OnSwitchChangeListener { - private Context mContext; - private SwitchBar mSwitchBar; - private SettingsObserver mSettingsObserver; - private boolean mListeningToOnSwitchChange = false; - - private boolean mStateMachineEvent; - - public ProfileEnabler(Context context, SwitchBar switchBar) { - mContext = context; - mSwitchBar = switchBar; - mSettingsObserver = new SettingsObserver(new Handler()); - setupSwitchBar(); - } - - public void setupSwitchBar() { - setSwitchState(); - if (!mListeningToOnSwitchChange) { - mSwitchBar.addOnSwitchChangeListener(this); - mListeningToOnSwitchChange = true; - } - mSwitchBar.show(); - } - - public void teardownSwitchBar() { - if (mListeningToOnSwitchChange) { - mSwitchBar.removeOnSwitchChangeListener(this); - mListeningToOnSwitchChange = false; - } - mSwitchBar.hide(); - } - - public void resume(Context context) { - mContext = context; - if (!mListeningToOnSwitchChange) { - mSwitchBar.addOnSwitchChangeListener(this); - mSettingsObserver.observe(); - - mListeningToOnSwitchChange = true; - } - } - - public void pause() { - if (mListeningToOnSwitchChange) { - mSwitchBar.removeOnSwitchChangeListener(this); - mSettingsObserver.unobserve(); - - mListeningToOnSwitchChange = false; - } - } - - private void setSwitchBarChecked(boolean checked) { - mStateMachineEvent = true; - mSwitchBar.setChecked(checked); - mStateMachineEvent = false; - } - - private void setSwitchState() { - boolean enabled = CMSettings.System.getInt(mContext.getContentResolver(), - CMSettings.System.SYSTEM_PROFILES_ENABLED, 1) == 1; - mStateMachineEvent = true; - setSwitchBarChecked(enabled); - mStateMachineEvent = false; - } - - @Override - public void onSwitchChanged(Switch switchView, boolean isChecked) { - //Do nothing if called as a result of a state machine event - if (mStateMachineEvent) { - return; - } - - // Handle a switch change - CMSettings.System.putInt(mContext.getContentResolver(), - CMSettings.System.SYSTEM_PROFILES_ENABLED, isChecked ? 1 : 0); - - // Send a broadcast intent to the world - // TODO Enabling or disabling profiles should be at ProfileManager, not here - Intent intent=new Intent(ProfileManager.PROFILES_STATE_CHANGED_ACTION); - intent.putExtra( - ProfileManager.EXTRA_PROFILES_STATE, - isChecked ? - ProfileManager.PROFILES_STATE_ENABLED : - ProfileManager.PROFILES_STATE_DISABLED); - mContext.sendBroadcast(intent); - } - - class SettingsObserver extends ContentObserver { - SettingsObserver(Handler handler) { - super(handler); - } - - void observe() { - ContentResolver resolver = mContext.getContentResolver(); - resolver.registerContentObserver(CMSettings.System.getUriFor( - CMSettings.System.SYSTEM_PROFILES_ENABLED), false, this); - update(); - } - - void unobserve() { - ContentResolver resolver = mContext.getContentResolver(); - resolver.unregisterContentObserver(this); - } - - @Override - public void onChange(boolean selfChange) { - update(); - } - - public void update() { - setSwitchState(); - } - } -} |