package com.talent.allshare.more;
import java.util.ArrayList;
import java.util.List;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.DhcpInfo;
import android.net.Uri;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.os.Handler;
import android.text.InputType;
import android.text.format.Formatter;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import com.wireme.activity.Wifi_Setting;
import com.youplayer.player.R;
public class MoreActivity extends Activity implements OnCheckedChangeListener{
private static Context mContext;
private static WifiManager wifiManager;
private static DhcpInfo dhcpInfo;
private List<String> files ;
static private ListView more_list;
private WebView webview;
static private RelativeLayout webview_rl;
private LinearLayout player_setting_ll;
static private LinearLayout wifi_setting_ll;
private Button back_button;
private Button back_button_;
private Button back_button_wifi_setting;
private Button wifi_setting_btn_btn;
static private EditText username;
private EditText password;
private RelativeLayout back_button_player;
private CheckBox c_box1;
private CheckBox c_box2;
private CheckBox c_box3;
private RelativeLayout wv_rl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.more);
initView();
initDate();
}
@SuppressLint("NewApi")
private static void hideSoftInputFromWindow()
{
InputMethodManager inputMethodManager =(InputMethodManager)mContext.getApplicationContext().
getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(username.getWindowToken(), 0); //隐藏
}
private void initView() {
c_box1 = (CheckBox)findViewById(R.id.c_box_1);
c_box2 = (CheckBox)findViewById(R.id.c_box_2);
c_box3 = (CheckBox)findViewById(R.id.c_box_3);
c_box1.setOnCheckedChangeListener( this);
c_box2.setOnCheckedChangeListener( this);
c_box3.setOnCheckedChangeListener( this);
back_button_ =(Button) findViewById(R.id.more_back_player_setting);
back_button_.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
webview_rl.setVisibility(View.GONE);
player_setting_ll.setVisibility(View.GONE);
more_list.setVisibility(View.VISIBLE);
}
});
back_button_wifi_setting =(Button) findViewById(R.id.more_back_wifi_setting);
back_button_wifi_setting.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
webview_rl.setVisibility(View.GONE);
wifi_setting_ll.setVisibility(View.GONE);
more_list.setVisibility(View.VISIBLE);
hideSoftInputFromWindow();
}
});
username = (EditText) findViewById(R.id.editText1);
password = (EditText) findViewById(R.id.editText2);
wifi_setting_btn_btn =(Button) findViewById(R.id.wifi_setting_btn);
wifi_setting_btn_btn.setText("确定");
wifi_setting_btn_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Wifi_Setting.set_username_password(getGateWay(MoreActivity.this),
username.getText().toString(),
password.getText().toString());
hideSoftInputFromWindow();
// Wifi_Setting.mac_crypto(getGateWay(MoreActivity.this),getLocalMacAddress());
}
});
more_list = (ListView)findViewById(R.id.more_list);
webview_rl = (RelativeLayout)findViewById(R.id.web_view_rl);
webview = (WebView) findViewById(R.id.web_view);
player_setting_ll = (LinearLayout)findViewById(R.id.player_setting);
wifi_setting_ll = (LinearLayout)findViewById(R.id.wifi_setting);
back_button = (Button)findViewById(R.id.more_back);
back_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
webview_rl.setVisibility(View.GONE);
player_setting_ll.setVisibility(View.GONE);
more_list.setVisibility(View.VISIBLE);
}
});
}
@SuppressLint("NewApi") private void initDate() {
files = new ArrayList<String>();
files.add(getResources().getString(R.string.wifisetting));
files.add(getResources().getString(R.string.routersetting));
files.add(getResources().getString(R.string.playersetting));
MoreAdapter moreAdapter = new MoreAdapter(MoreActivity.this);
moreAdapter.setData(files);
more_list.setAdapter(moreAdapter);
more_list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int i,
long l) {
switch (i) {
case 0:
wifi_setting_ll.setVisibility(View.VISIBLE);
player_setting_ll.setVisibility(View.GONE);
webview_rl.setVisibility(View.GONE);
more_list.setVisibility(View.GONE);
// Wifi_Setting.wifi_setting(getGateWay(MoreActivity.this));
break;
case 1:
// player_setting_ll.setVisibility(View.GONE);
// webview_rl.setVisibility(View.VISIBLE);
// more_list.setVisibility(View.GONE);
// webview.setInitialScale(100);
//设置WebView属性,能够执行Javascript脚本
// webview.getSettings().setJavaScriptEnabled(true);
//加载需要显示的网页
//不跳转
// webview.getSettings().setLoadWithOverviewMode(false);
// webview.getSettings().setSupportZoom(true);
// webview.getSettings().setBuiltInZoomControls(true);
String gateway = getGateWay(MoreActivity.this);
gateway = "http://"+gateway;
System.out.println(gateway);
webview.loadUrl(gateway);
// webview.loadUrl("http://www.hao123.com");
Uri uri = Uri.parse(gateway);
Intent intent = new Intent(Intent.ACTION_VIEW , uri);
startActivity(intent);
// Intent intent = new Intent(Action.);
// webview.setWebViewClient(new WebViewClient(){
// @Override
// public boolean shouldOverrideUrlLoading(WebView view, String url){
// view.loadUrl(url);
// return false;
//
// }
// });
break;
case 2:
player_setting_ll.setVisibility(View.VISIBLE);
webview_rl.setVisibility(View.GONE);
more_list.setVisibility(View.GONE);
break;
default:
break;
}
// Intent intent = new Intent(MoreActivity.this, WifiSetActivity.class);
// startActivity(intent);
}
});
}
static private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 0x123:
Restart();
break;
default:
break;
}
};
};
static public void TipRestart()
{
handler.sendEmptyMessageDelayed(0x123, 1000);
}
private static void Restart()
{
new AlertDialog.Builder(mContext).setTitle("是否重启路由器让设置立即生效")
.setNegativeButton("重启路由", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
Wifi_Setting.reboot("y");
webview_rl.setVisibility(View.GONE);
wifi_setting_ll.setVisibility(View.GONE);
more_list.setVisibility(View.VISIBLE);
hideSoftInputFromWindow();
// MoreActivity.this.finish();
}
})
.setNeutralButton("取消", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
webview_rl.setVisibility(View.GONE);
wifi_setting_ll.setVisibility(View.GONE);
more_list.setVisibility(View.VISIBLE);
hideSoftInputFromWindow();
}
}).show();
}
@Override
public void onBackPressed() {
// super.onBackPressed();
new AlertDialog.Builder(MoreActivity.this).setTitle("确定退出?")
.setNegativeButton("确定", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
MoreActivity.this.finish();
}
})
.setNeutralButton("取消", new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
}).show();
}
public static String getGateWay(Context context){
wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
dhcpInfo = wifiManager.getDhcpInfo();
//dhcpInfo获取的是最后一次成功的相关信息,包括网关、ip等
return FormatIP(dhcpInfo.gateway);
}
@SuppressLint("NewApi")
public static String FormatIP(int IpAddress) {
return Formatter.formatIpAddress(IpAddress);
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
c_box1.setChecked(false);
c_box2.setChecked(false);
c_box3.setChecked(false);
buttonView.setChecked(true);
}
}
public String getLocalMacAddress() {
WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
System.out.println("info.getMacAddress()="+info.getMacAddress());
return info.getMacAddress();
}
}