package com.nagopy.android.xposed.utilities;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.widget.CheckBox;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import com.google.analytics.tracking.android.GoogleAnalytics;
import com.nagopy.android.common.util.DimenUtil;
import com.nagopy.android.xposed.utilities.util.Const;
public class GASettingDialogFragment extends DialogFragment implements
DialogInterface.OnClickListener {
private CheckBox mCheckBox;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.app_name);
Context applicationContext = getActivity().getApplicationContext();
LinearLayout ll = new LinearLayout(applicationContext);
ll.setOrientation(LinearLayout.VERTICAL);
int padding = DimenUtil.getPixelFromDp(applicationContext, 8);
ll.setPadding(padding, padding, padding, padding);
TextView textView = new TextView(applicationContext);
textView.setTextAppearance(applicationContext, android.R.style.TextAppearance_Medium);
textView.setText(R.string.ga_explain);
mCheckBox = new CheckBox(applicationContext);
mCheckBox.setTextAppearance(applicationContext, android.R.style.TextAppearance_Small);
mCheckBox.setText(R.string.ga_dllow_anonymous_usage_reports);
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(applicationContext);
boolean isOptOut = sp.getBoolean(Const.KEY_GA_OPTOUT, false);
mCheckBox.setChecked(isOptOut);
ll.addView(textView, LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
ll.addView(mCheckBox, LinearLayout.LayoutParams.MATCH_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
ScrollView scrollView = new ScrollView(applicationContext);
scrollView.addView(ll);
builder.setView(scrollView);
builder.setPositiveButton(android.R.string.ok, this);
return builder.create();
}
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case DialogInterface.BUTTON_POSITIVE:
// OKが押されたら、設定を保存
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity()
.getApplicationContext());
boolean isOptOut = mCheckBox.isChecked();
sp.edit().putBoolean(Const.KEY_GA_OPTOUT, isOptOut).apply();
GoogleAnalytics.getInstance(getActivity().getApplicationContext()).setAppOptOut(
isOptOut);
break;
default:
break;
}
}
}