Android Open Source - Calma Settings Activity






From Project

Back to project page Calma.

License

The source code is released under:

Apache License

If you think the Android project Calma listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright (C) 2013 Thomas Schmid//from  ww w.j ava 2 s  .  c  o m
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 * MA  02110-1301, USA.
 */

package com.scto.android.calma.activities.preferences;

import android.app.ActionBar;
import android.app.Fragment;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

/*
import android.content.Intent;
import android.content.BroadcastReceiver;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.Preference.OnPreferenceClickListener;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.util.Log;
import android.view.MenuItem;
*/

import com.scto.android.calma.R;
import com.scto.android.calma.preferences.CalmaSettings;
import com.scto.android.calma.utils.CalmaUtils;
import com.scto.android.calma.utils.PreferenceUtils;

import java.util.List;

public class SettingsActivity extends PreferenceActivity {

    private static final String TAG = "SettingsActivity"; //$NON-NLS-1$

    private static final boolean DEBUG = false;

  private TextView mTitle;

    private final BroadcastReceiver mNotificationReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            if (intent != null) {
                if (intent.getAction().compareTo(CalmaSettings.INTENT_THEME_CHANGED) == 0) {
                    finish();
                }
            }
        }
    };

    /**
     * {@inheritDoc}
     */
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        if (DEBUG) {
            Log.d(TAG, "SettingsActivity.onCreate"); //$NON-NLS-1$
        }

        // Set the theme    
    setTheme(new PreferenceUtils(this).getTheme());
    
        // Register the broadcast receiver
        IntentFilter filter = new IntentFilter();
        filter.addAction(CalmaSettings.INTENT_THEME_CHANGED);
        registerReceiver(this.mNotificationReceiver, filter);

        // Fade it in
        overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

        //Initialize action bars    
    getActionBar().setDisplayHomeAsUpEnabled(true);    
    
        super.onCreate(savedInstanceState);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    protected void onDestroy() {
        if (DEBUG) {
            Log.d(TAG, "SettingsActivity.onDestroy"); //$NON-NLS-1$
        }

        // Unregister the receiver
        try {
            unregisterReceiver(this.mNotificationReceiver);
        } catch (Throwable ex) {
            /**NON BLOCK**/
        }

        //All destroy. Continue
        super.onDestroy();
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void onBuildHeaders(List<Header> target) {
        loadHeadersFromResource(R.xml.preferences_headers, target);
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
      case android.R.id.home:
        finish();
        return true;
      default:
        return super.onOptionsItemSelected(item);
    }
    }

    /**
     * {@inheritDoc}
     */
    @Override
    public void onAttachFragment(Fragment fragment) {
        super.onAttachFragment(fragment);
        if (!CalmaUtils.isTablet(this) && fragment instanceof TitlePreferenceFragment) {
            this.mTitle.setText(((TitlePreferenceFragment)fragment).getTitle());
        } else {
            this.mTitle.setText(R.string.pref);
        }
    }

  
  public static class GeekyPreferences extends PreferenceFragment {
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
       addPreferencesFromResource(R.xml.geeky_prefs);

       // Access mode
       this.mAccessMode = (ListPreference)findPreference(CalmaSettings.SETTINGS_ACCESS_MODE.getId());
       this.mAccessMode.setOnPreferenceChangeListener(this.mOnChangeListener);
       defaultValue = ((ObjectStringIdentifier)CalmaSettings.SETTINGS_ACCESS_MODE.getDefaultValue()).getId();
       value = Preferences.getSharedPreferences().getString(CalmaSettings.SETTINGS_ACCESS_MODE.getId(),defaultValue);
       this.mOnChangeListener.onPreferenceChange(this.mAccessMode, value);
       // If device is not rooted, this setting cannot be changed
       this.mAccessMode.setEnabled(CalmaApp.isDeviceRooted());

       // Capture Debug traces
       this.mDebugTraces = (CheckBoxPreference)findPreference(CalmaSettings.SETTINGS_SHOW_TRACES.getId());
       this.mDebugTraces.setOnPreferenceChangeListener(this.mOnChangeListener);

       // Loaded
       this.mLoaded = true;

       // Access mode
       final Preference mRootMode = findPreference("root_mode");
       mRootMode.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

           @Override
           public boolean onPreferenceChange(final Preference preference, Object newValue) {
             return true;
           }
       }); 
    }
  }
  
  public static class ViewPreferences extends PreferenceFragment  {
    
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
       addPreferencesFromResource(R.xml.view_prefs);
    }
  }
  
  public static class AboutPreferences extends PreferenceFragment  {
    
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
       addPreferencesFromResource(R.xml.about_prefs);

       // About
       final Preference mOpenSourceLicenses = findPreference("open_source");
       mOpenSourceLicenses.setOnPreferenceClickListener(new OnPreferenceClickListener() {

           @Override
           public boolean onPreferenceClick(final Preference preference) {
             CalmaUtils.createOpenSourceDialog(getActivity()).show();
             return true;
           }
       });

       try {
         final PackageInfo packageInfo = getActivity().getPackageManager().getPackageInfo(getActivity().getPackageName(), 0);
         findPreference("version").setSummary(packageInfo.versionName);
       } catch (final NameNotFoundException e) {
         findPreference("version").setSummary("?");
       }

       Preference share = findPreference("pref_opt_share");
       share.setOnPreferenceClickListener(new OnPreferenceClickListener() {
        
        @Override
        public boolean onPreferenceClick(Preference preference) {
          
          final Intent intent = new Intent(Intent.ACTION_SEND);
            intent.setType("text/plain");
            String text = getString(R.string.share_text);
            intent.putExtra(Intent.EXTRA_TEXT, text);
            intent.putExtra(Intent.EXTRA_SUBJECT, "Calma");

            startActivity(Intent.createChooser(intent,getString(R.string.share_via)));
          return true;
        }
      });
    }    
  }
}




Java Source Code List

com.cyanogenmod.filemanager.activities.preferences.SettingsPreferences.java
com.espian.showcaseview.OnShowcaseEventListener.java
com.espian.showcaseview.ShowcaseViewBuilder.java
com.espian.showcaseview.ShowcaseView.java
com.espian.showcaseview.ShowcaseViews.java
com.espian.showcaseview.actionbar.ActionBarViewWrapper.java
com.espian.showcaseview.actionbar.reflection.ActionBarReflector.java
com.espian.showcaseview.actionbar.reflection.AppCompatReflector.java
com.espian.showcaseview.actionbar.reflection.BaseReflector.java
com.espian.showcaseview.actionbar.reflection.SherlockReflector.java
com.espian.showcaseview.anim.AnimationUtils.java
com.espian.showcaseview.drawing.ClingDrawerImpl.java
com.espian.showcaseview.drawing.ClingDrawer.java
com.espian.showcaseview.drawing.TextDrawerImpl.java
com.espian.showcaseview.drawing.TextDrawer.java
com.espian.showcaseview.targets.ActionItemTarget.java
com.espian.showcaseview.targets.ActionViewTarget.java
com.espian.showcaseview.targets.PointTarget.java
com.espian.showcaseview.targets.Target.java
com.espian.showcaseview.targets.ViewTarget.java
com.espian.showcaseview.utils.Calculator.java
com.espian.showcaseview.utils.PointAnimator.java
com.espian.showcaseview.utils.ShowcaseAreaCalculator.java
com.scto.android.calma.CalmaApp.java
com.scto.android.calma.activities.BaseActivity.java
com.scto.android.calma.activities.CalmaActivity.java
com.scto.android.calma.activities.SettingsActivity.java
com.scto.android.calma.activities.preferences.AboutPreferenceFragment.java
com.scto.android.calma.activities.preferences.DisplayPreferenceFragment.java
com.scto.android.calma.activities.preferences.GeneralPreferenceFragment.java
com.scto.android.calma.activities.preferences.NavigationPreferenceFragment.java
com.scto.android.calma.activities.preferences.SettingsActivity.java
com.scto.android.calma.activities.preferences.TitlePreferenceFragment.java
com.scto.android.calma.adapter.NavDrawerListAdapter.java
com.scto.android.calma.fragments.CommunityFragment.java
com.scto.android.calma.fragments.FindPeopleFragment.java
com.scto.android.calma.fragments.HomeFragment.java
com.scto.android.calma.fragments.PagesFragment.java
com.scto.android.calma.fragments.PhotosFragment.java
com.scto.android.calma.fragments.WhatsHotFragment.java
com.scto.android.calma.model.NavDrawerItem.java
com.scto.android.calma.preferences.AccessMode.java
com.scto.android.calma.preferences.CalmaSettings.java
com.scto.android.calma.preferences.ConfigurationListener.java
com.scto.android.calma.preferences.ObjectIdentifier.java
com.scto.android.calma.preferences.ObjectStringIdentifier.java
com.scto.android.calma.preferences.Preferences.java
com.scto.android.calma.ui.MyPrerference.java
com.scto.android.calma.utils.CalmaUtils.java
com.scto.android.calma.utils.Compress.java
com.scto.android.calma.utils.Decompress.java
com.scto.android.calma.utils.FileUtils.java
com.scto.android.calma.utils.LinuxShell.java
com.scto.android.calma.utils.PreferenceUtils.java
com.scto.android.calma.utils.SharedPreferencesCompat.java
com.scto.android.calma.utils.SortOrder.java
com.scto.android.calma.utils.Utils.java
com.stericson.RootTools.Constants.java
com.stericson.RootTools.RootTools.java
com.stericson.RootToolsTests.NativeJavaClass.java
com.stericson.RootToolsTests.SanityCheckRootTools.java
com.stericson.RootTools.containers.Mount.java
com.stericson.RootTools.containers.Permissions.java
com.stericson.RootTools.containers.RootClass.java
com.stericson.RootTools.containers.Symlink.java
com.stericson.RootTools.exceptions.RootDeniedException.java
com.stericson.RootTools.execution.CommandCapture.java
com.stericson.RootTools.execution.Command.java
com.stericson.RootTools.execution.JavaCommandCapture.java
com.stericson.RootTools.execution.Shell.java
com.stericson.RootTools.internal.Installer.java
com.stericson.RootTools.internal.InternalVariables.java
com.stericson.RootTools.internal.Remounter.java
com.stericson.RootTools.internal.RootToolsInternalMethods.java
com.stericson.RootTools.internal.Runner.java