package com.v2ex.v2droid;
import org.holoeverywhere.LayoutInflater;
import org.holoeverywhere.app.Fragment;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;
public class SettingFragmen extends Fragment {
private final class UrlListener implements OnClickListener {
private final Uri uri;
public UrlListener(String url) {
uri = Uri.parse(url);
}
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new Builder(
getActivity());
builder.setMessage("确认登出吗?");
builder.setTitle("登出");
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
logout();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create().show();
}
}
private static SettingFragmen instance;
public static SettingFragmen getInstance() {
if (SettingFragmen.instance == null) {
return new SettingFragmen();
}
return SettingFragmen.instance;
}
private final OnClickListener developersListener = new OnClickListener() {
@Override
public void onClick(View view) {
//((MainActivity) getSupportActivity()).replaceFragment(DevelopersFragment.getInstance(),
//"developers");
}
};
private final OnClickListener logoutListener = new UrlListener(
"https://v2ex.com/logout");
public SettingFragmen() {
SettingFragmen.instance = this;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRetainInstance(true);
setHasOptionsMenu(true);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.setting);
}
@Override
public void onViewCreated(View view) {
super.onViewCreated(view);
view.findViewById(R.id.logout).setOnClickListener(logoutListener);
//view.findViewById(R.id.developers).setOnClickListener(developersListener);
}
@Override
public void onCreateOptionsMenu(
Menu menu, MenuInflater inflater) {
//inflater.inflate(R.menu.fragment_content, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
((MainActivity)getActivity()).toggle();
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
public void logout() {
AppConfig.setLogin(getActivity(), false);
AppConfig.setUsername(getActivity(), "");
AppConfig.setPassword(getActivity(), "");
AppConfig.setMessageNum(getActivity(), "");
Intent intent = new Intent(getActivity(), LoginActivity.class);
getActivity().startActivity(intent);
getActivity().finish();
}
}