/*
The contents of this file are subject to the Mozilla Public License
Version 1.1 (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.mozilla.org/MPL/
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
License for the specific language governing rights and limitations
under the License.
The Original Code is collection of files collectively known as Open Camera.
The Initial Developer of the Original Code is Almalence Inc.
Portions created by Initial Developer are Copyright (C) 2013
by Almalence Inc. All Rights Reserved.
*/
/* <!-- +++
package com.almalence.opencam_plus;
+++ --> */
// <!-- -+-
package com.almalence.opencam;
//-+- -->
import java.util.List;
import android.annotation.TargetApi;
import android.app.AlertDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceActivity;
import android.preference.PreferenceManager;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
/***
* Preference activity class - manages preferences
***/
public class Preferences extends PreferenceActivity
{
public static PreferenceActivity thiz;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// On some devices app crashes on start, because of ApplicationScreen.instance is null.
// If ApplicationScreen.instance is null, we need to start ApplicationScreen to initialize it, before starting Preferences.
if (ApplicationScreen.instance == null) {
Intent intent = new Intent(this, ApplicationScreen.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
finish();
}
}
// Called only on Honeycomb and later
// loading headers for common and plugins
@Override
public void onResume()
{
super.onResume();
thiz = this;
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean MaxScreenBrightnessPreference = prefs.getBoolean("maxScreenBrightnessPref", false);
setScreenBrightness(MaxScreenBrightnessPreference);
}
@Override
public void onBuildHeaders(List<Header> target)
{
thiz = this;
loadHeadersFromResource(R.xml.preferences_headers, target);
}
public static void closePrefs()
{
thiz.finish();
}
public static void setScreenBrightness(boolean setMax)
{
try
{
Window window = thiz.getWindow();
WindowManager.LayoutParams layoutpars = window.getAttributes();
// Set the brightness of this window
if (setMax)
layoutpars.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL;
else
layoutpars.screenBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE;
// Apply attribute changes to this window
window.setAttributes(layoutpars);
} catch (Exception e)
{
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
@Override
protected boolean isValidFragment(String fragmentName)
{
return true;
}
@Override
public void onHeaderClick(Header header, int position)
{
super.onHeaderClick(header, position);
if (header.id == R.id.about_header)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
View view = getLayoutInflater().inflate(R.layout.about_dialog, null);
builder.setTitle(R.string.Pref_About_Title).setView(view).setCancelable(true);
AlertDialog alert = builder.create();
alert.show();
ImageView img = (ImageView) alert.findViewById(R.id.about_fb_logo);
img.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("https://www.facebook.com/abettercam"));
startActivity(intent);
}
});
img = (ImageView) alert.findViewById(R.id.about_gplus_logo);
img.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("https://plus.google.com/112729683723267883775"));
startActivity(intent);
}
});
img = (ImageView) alert.findViewById(R.id.about_youtube_logo);
img.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse("http://www.youtube.com/watch?v=s6AusctWugg"));
startActivity(intent);
}
});
}
}
}