Skip to content

Instantly share code, notes, and snippets.

@olologin
Created October 6, 2014 20:05
Show Gist options
  • Save olologin/9f57bbd9414deadf31bf to your computer and use it in GitHub Desktop.
Save olologin/9f57bbd9414deadf31bf to your computer and use it in GitHub Desktop.
package com.example.olologin.qudah;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.provider.MediaStore;
import android.util.Log;
import android.widget.DialerFilter;
public class SettingsActivity extends PreferenceActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String LOG_TAG = "SettingsActivity";
private static final int PICK_AUDIO = 1;
private SharedPreferences settings;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = PreferenceManager.getDefaultSharedPreferences(this);
addPreferencesFromResource(R.xml.pref);
Preference prefereces=findPreference("select_audio");
prefereces.setOnPreferenceClickListener (new Preference.OnPreferenceClickListener(){
public boolean onPreferenceClick(Preference preference){
Intent intent = new Intent();
intent.setType("audio/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select mp3 file"), PICK_AUDIO);
return true;
}
});
}
@Override
protected void onResume() {
super.onResume();
settings.registerOnSharedPreferenceChangeListener(this);
//PreferenceManager.setDefaultValues(this, R.xml.pref, false);
}
@Override
protected void onPause() {
super.onPause();
settings.unregisterOnSharedPreferenceChangeListener(this);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
if (key.equals("isAlarmEnabled")) {
//if(sharedPreferences.getBoolean("isAlarmEnabled", false))
} else if (key.equals("isIconHidden")) {
PackageManager p = getPackageManager();
if(sharedPreferences.getBoolean("isIconHidden", false))
{
ComponentName componentName = new ComponentName(this, com.example.olologin.qudah.SettingsActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" />
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}
else {
ComponentName componentName = new ComponentName(this, com.example.olologin.qudah.SettingsActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
}
} else {
return;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent audioReturnedIntent) {
super.onActivityResult(requestCode, resultCode, audioReturnedIntent);
if(requestCode != PICK_AUDIO)
Log.d(LOG_TAG, "Unknown resultcode");
switch (resultCode) {
case RESULT_OK: {
Uri selectedAudio = audioReturnedIntent.getData();
Log.d(LOG_TAG, "Audio was " + settings.getString("select_audio", null));
Log.d(LOG_TAG, "Audio choosen " + selectedAudio.toString());
settings.edit().putString("select_audio", selectedAudio.toString()).commit();
Log.d(LOG_TAG, "Audio path now " + settings.getString("select_audio", null));
break;
}
case RESULT_CANCELED :
Log.d(LOG_TAG, "Audio canceled! ");
break;
default:
Log.d(LOG_TAG, "Another problem");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment