package com.talent.allshare.server; import android.app.Activity; import android.app.AlertDialog; import android.content.ComponentName; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.text.Editable; import android.text.TextWatcher; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import com.talent.allshare.widget.IOSSwitch; import com.youplayer.player.R; public class ShareActivity extends Activity implements View.OnClickListener { private boolean mShareEnabled=false; private boolean mShareMusicEnabled=true; private boolean mShareVideoEnabled=true; private boolean mSharePictureEnabled=true; private boolean mShareDocEnabled=true; private String mDeviceName="MacroDisk"; // private Switch mShareSwitch; private CheckBox mShareVideoCheckBox; private CheckBox mShareMusicCheckBox; private CheckBox mSharePictureCheckBox; private CheckBox mShareDocCheckBox; private EditText mShareNameEditText; private final static String LOGTAG = "ShareMe"; private IShareService mService; private IOSSwitch mShareSwitch_btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.share); initView(); initDate(); startService(new Intent(this,ShareService.class)); final Intent intent = new Intent(this,ShareService.class); getApplicationContext().bindService(intent,serviceConnection,Context.BIND_AUTO_CREATE); } @Override protected void onDestroy() { if(mService!=null){ getApplicationContext().unbindService(serviceConnection); } super.onDestroy(); } private void initView() { //add by ff mShareSwitch_btn = (IOSSwitch)findViewById(R.id.switch_openshare_btn); mShareSwitch_btn.setChecked(false); mShareSwitch_btn.setFocusable(true); mShareSwitch_btn.requestFocus(); // EditText btn =(EditText) findViewById(R.id.btn); // btn.requestFocus(); // mShareSwitch = (Switch) findViewById(R.id.switch_openshare); mShareVideoCheckBox = (CheckBox) findViewById(R.id.checkbox_video); mShareMusicCheckBox = (CheckBox) findViewById(R.id.checkbox_music); mSharePictureCheckBox = (CheckBox) findViewById(R.id.checkbox_picture); mShareDocCheckBox = (CheckBox) findViewById(R.id.checkbox_doc); mShareNameEditText = (EditText) findViewById(R.id.edittext_devicesname); mShareVideoCheckBox.setOnClickListener(this); mShareMusicCheckBox.setOnClickListener(this); mSharePictureCheckBox.setOnClickListener(this); mShareDocCheckBox.setOnClickListener(this); } private void initDate() { mShareNameEditText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { String name=mShareNameEditText.getText().toString(); if(name!=null) { mDeviceName=name; } } }); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.checkbox_video: mShareVideoEnabled=mShareVideoCheckBox.isChecked(); break; case R.id.checkbox_music: mShareMusicEnabled=mShareMusicCheckBox.isChecked(); break; case R.id.checkbox_picture: mSharePictureEnabled=mSharePictureCheckBox.isChecked(); break; case R.id.checkbox_doc: mShareDocEnabled=mShareDocCheckBox.isChecked(); break; } } private ServiceConnection serviceConnection = new ServiceConnection() { public void onServiceConnected(ComponentName className, IBinder service) { mService = IShareService.Stub.asInterface(service); Log.i(LOGTAG, "Connected to share Service"); try { mDeviceName=mService.getCurDevName(); } catch (RemoteException e) { e.printStackTrace(); } if(mShareNameEditText!=null) { mShareNameEditText.setText(mDeviceName); } try { mShareVideoEnabled=mService.getbsharevideo(); mShareVideoCheckBox.setChecked(mShareVideoEnabled); } catch (RemoteException e) { e.printStackTrace(); } try { mShareMusicEnabled=mService.getbsharemusic(); mShareMusicCheckBox.setChecked(mShareMusicEnabled); } catch (RemoteException e) { e.printStackTrace(); } try { mSharePictureEnabled=mService.getbsharepicture(); mSharePictureCheckBox.setChecked(mSharePictureEnabled); } catch (RemoteException e) { e.printStackTrace(); } try { mShareDocEnabled=mService.getbsharedoc(); mShareDocCheckBox.setChecked(mShareDocEnabled); } catch (RemoteException e) { e.printStackTrace(); } if(mShareSwitch_btn!=null) { // mShareSwitch.setEnabled(true); mShareSwitch_btn.setEnabled(true); try { if(mService.isStarted()) { mShareSwitch_btn.setChecked(true); mShareSwitch_btn.setEnabled(true); mShareEnabled=true; enablesharesettingview(false); } } catch (RemoteException e) { e.printStackTrace(); } mShareSwitch_btn.setOnSwitchChangeListener(new IOSSwitch.OnSwitchChangeListener() { @Override public void onSwitchChanged(IOSSwitch switcher, boolean isChecked) { // TODO Auto-generated method stub Log.i("LOGTAG", "mShareEnabled="+mShareEnabled); if(isChecked) { if(mService!=null) { mShareSwitch_btn.setChecked(isChecked); mShareEnabled=isChecked; try { String name=mShareNameEditText.getText().toString(); if(name!=null) { mDeviceName=name; } mService.updateconfig(mDeviceName,mShareVideoEnabled,mShareMusicEnabled,mSharePictureEnabled,mShareDocEnabled); mService.start(); } catch (RemoteException e) { e.printStackTrace(); } enablesharesettingview(false); } }else { if(mService!=null){ try { mService.stop(); } catch (RemoteException e) { e.printStackTrace(); } enablesharesettingview(true); } } } }); /* mShareSwitch_btn.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub Log.i("LOGTAG", "mShareEnabled="+mShareEnabled); if(isChecked) { if(mService!=null) { mShareSwitch_btn.setChecked(isChecked); mShareEnabled=isChecked; try { String name=mShareNameEditText.getText().toString(); if(name!=null) { mDeviceName=name; } mService.updateconfig(mDeviceName,mShareVideoEnabled,mShareMusicEnabled,mSharePictureEnabled,mShareDocEnabled); mService.start(); } catch (RemoteException e) { e.printStackTrace(); } enablesharesettingview(false); } }else { if(mService!=null){ try { mService.stop(); } catch (RemoteException e) { e.printStackTrace(); } enablesharesettingview(true); } } } }); */ } } public void onServiceDisconnected(ComponentName className) { mService = null; } }; void enablesharesettingview(boolean enalbe){ if(mShareVideoCheckBox!=null) { mShareVideoCheckBox.setEnabled(enalbe); mShareMusicCheckBox.setEnabled(enalbe); mSharePictureCheckBox.setEnabled(enalbe); mShareDocCheckBox.setEnabled(enalbe); mShareNameEditText.setEnabled(enalbe); } } @Override public void onBackPressed() { new AlertDialog.Builder(ShareActivity.this).setTitle("确定退出?") .setNegativeButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); ShareActivity.this.finish(); } }) .setNeutralButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }).show(); } }