package com.wamod.settings;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceFragment;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v7.app.AlertDialog;
import android.view.MenuItem;
import android.widget.Toast;
import com.wamod.Resources;
import com.wamod.Utils;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* Created by BrianValente on 3/3/16.
*/
public class Home extends Activity {
static Context ctx;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
Utils.loadColorsBeforeSuper(this);
super.onCreate(savedInstanceState);
ctx = this;
getFragmentManager().beginTransaction().replace(android.R.id.content, new WAMODSettingsFragment()).commit();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
protected void onResume() {
super.onResume();
Utils.loadColorsV2(this);
}
public static class WAMODSettingsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle paramBundle) {
super.onCreate(paramBundle);
getPreferenceManager().setSharedPreferencesName("wamod");
addPreferencesFromResource(Resources.xml.wamodsettings_home);
Preference drawerBg = findPreference("home_drawer_bg");
drawerBg.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
Intent in = new Intent(Intent.ACTION_PICK);
in.setType("image/*");
startActivityForResult(in, 1);
return false;
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
//super.onActivityResult(requestCode, resultCode, data);
try {
if (null != data) {
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = ctx.getContentResolver().query(selectedImage, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String picturePath = cursor.getString(columnIndex);
cursor.close();
Bitmap photo = BitmapFactory.decodeFile(picturePath);
FileOutputStream out = null;
try {
String path = Utils.getApplicationPath(ctx) + "/files/wamod_drawer_bg.png";
out = new FileOutputStream(path);
photo.compress(Bitmap.CompressFormat.PNG, 100, out); // bmp is your Bitmap instance
// PNG is a lossless format, the compression factor (100) is ignored
Toast.makeText(ctx, ctx.getResources().getString(Resources.getString("wamod_done")), Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (out != null) {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
} catch (Exception e) {
AlertDialog.Builder dialog = new AlertDialog.Builder(ctx);
dialog.setMessage("There was an error, try another image.");
dialog.show();
}
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) onBackPressed();
return true;
}
}