Login.java :  » UnTagged » wolfwei » netposa » npm » Android Open Source

Android Open Source » UnTagged » wolfwei 
wolfwei » netposa » npm » Login.java
package netposa.npm;


import java.util.ArrayList;
import java.util.List;

import netposa.network.Communication;
import netposa.network.NetOperation;
import netposa.player.PlayView;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;


public class Login<HanderTestActivty> extends Activity {
    /** Called when the activity is first created. */
  
  private AutoCompleteTextView act_username;
  private AutoCompleteTextView act_uri;
  private EditText et_password;
  private Button b_login;
  private Button b_exit;
  private ArrayList<String> usernames;
  private List<UserInfo> userlist;
  private CheckBox cb_remember;
  private ArrayList<String> urilist;
  private ArrayList<String> openurilist;
  private AutoCompleteTextView act_openuri;
  private Handler mainhandler;
  private Communication c;
  private ProgressDialog pd;
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
     // 
        Window w=getWindow();
        w.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);      
        w.requestFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
        b_login=(Button)findViewById(R.id.login);
        b_exit=(Button)findViewById(R.id.exit);
        act_uri=(AutoCompleteTextView)findViewById(R.id.act_uri);
        act_username=(AutoCompleteTextView)findViewById(R.id.ACT_username);
        et_password=(EditText)findViewById(R.id.ET_password);
        cb_remember=(CheckBox)findViewById(R.id.cb_remember);
        mainhandler=new Handler(){
      @Override
      public void handleMessage(Message msg) {
        if(msg.what==NetOperation.WEBLOGIN){
             String tmp=(String)msg.obj;
        pd.dismiss();        
             if("null".equals(tmp)){
          
          Toast.makeText(Login.this, ",", Toast.LENGTH_SHORT).show();
          
        }else if("false".equals(tmp))
        {
          Toast.makeText(Login.this, "", Toast.LENGTH_SHORT).show();
          
        }else if("true".equals(tmp))
          {
          //
          Intent intent=new Intent();
          intent.setClass(Login.this, Home.class);
          
          Bundle bundle=new Bundle();
          bundle.putString("uri", act_uri.getText().toString());
          bundle.putString("username", act_username.getText().toString());
          intent.putExtras(bundle);        
          startActivity(intent);
        //  NPM.this.finish();
          }
        }
      }
    };
    
    
        b_login.setOnClickListener(new Button.OnClickListener(){
      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        //
        
        saveInfo();
        getInfo();
        setAutoComplete();
        
        pd=new ProgressDialog(Login.this);
        pd.setCancelable(false);
        pd.setTitle(R.string.login);
        pd.setMessage("..");
        pd.setButton("", new DialogInterface.OnClickListener() {
          
          @Override
          public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            c.cancel(true);
            pd.dismiss();
          }
        });
        
        c=new Communication(mainhandler);
        c.execute(Integer.toString(NetOperation.WEBLOGIN),
            act_uri.getText().toString(),
            act_username.getText().toString(),
            et_password.getText().toString());
        pd.show();
//        String tmp=NetOperation.webLogin(act_uri.getText().toString(),act_username.getText().toString(),et_password.getText().toString());
//        if("null".equals(tmp)){
//          
//          Toast.makeText(NPM.this, ",", Toast.LENGTH_SHORT).show();
//          
//        }else if("false".equals(tmp))
//        {
//          Toast.makeText(NPM.this, "", Toast.LENGTH_SHORT).show();
//          
//        }else if("true".equals(tmp))
//          {
//          //
//          Intent intent=new Intent();
//          intent.setClass(NPM.this, VideoPage.class);
//          
//          Bundle bundle=new Bundle();
//          bundle.putString("uri", act_uri.getText().toString());
//          bundle.putString("username", act_username.getText().toString());
//          intent.putExtras(bundle);        
//          startActivity(intent);
//        //  NPM.this.finish();
//          }
        
      }
           
        });
        b_exit.setOnClickListener(new Button.OnClickListener(){

      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        dialog();
      }});
        
        
      //,
      String now=getInfo();
      if(now!=""){
      String [] nows=now.split(",");
      act_uri.setText(nows[0]);
      act_username.setText(nows[1]);
      boolean rb=Boolean.parseBoolean(nows[3]);
      if(rb){
      et_password.setText(nows[2]);
      }
      cb_remember.setChecked(rb);
      }
        setAutoComplete();
    }
    
    
      

 // Menu item Ids
    public static final int mSRC_ID = Menu.FIRST;    
    public static final int HELP_ID = Menu.FIRST + 1;
    public static final int ABOUT_ID = Menu.FIRST + 2;
  private static final String PREF_USERINFO = "UserInfo";
  private static final String PREF_URI = "URI";
  private static final String PREF_NOW = "Now";
  private static final String PREF_OPENURI = "OpenUri";
  private static final String PREF_OPENURINOW = "OpenUriNow";
    
    

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        
        menu.add(0, mSRC_ID, 0, R.string.msrc).setIcon(android.R.drawable.ic_menu_slideshow);   
        menu.add(0, HELP_ID, 1, R.string.help).setIcon(android.R.drawable.ic_menu_help);
        menu.add(0, ABOUT_ID, 1, R.string.about).setIcon(android.R.drawable.ic_menu_info_details);

        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {        
          case mSRC_ID:
          {
            open();
              return true;
          }
          case HELP_ID:
          {
            help();
              return true;
          }
          case ABOUT_ID:
          {
            about();
            return true;
          }
        }
        return super.onOptionsItemSelected(item);
    }
    private void about() {
    // TODO Auto-generated method stub
      LayoutInflater factory = LayoutInflater.from(this);
        final View aboutview = factory.inflate(R.layout.about, null);
 
    new AlertDialog.Builder(this).
    setTitle(R.string.about)
    .setView(aboutview)
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        
      }
    }).show();
  }

  private void help() {
    // TODO Auto-generated method stub
    new AlertDialog.Builder(this).
    setTitle(R.string.help)
    .setMessage("...")
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        
      }
    }).show();
  }

  private void open() {
    // TODO Auto-generated method stub
    
    LayoutInflater factory = LayoutInflater.from(this);
        final View openview = factory.inflate(R.layout.open, null);
        act_openuri = (AutoCompleteTextView)openview.findViewById(R.id.act_openuri);
        
    new AlertDialog.Builder(this).
    setTitle(R.string.open)
    .setView(openview)
    .setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        
        Intent intent=new Intent();
        intent.setClass(Login.this, PlayView.class);
        
        Bundle bundle=new Bundle();
        bundle.putString("playuri", act_openuri.getText().toString());
        bundle.putString("uri", "");
        bundle.putString("name", act_openuri.getText().toString());
        bundle.putString("code", "");
        intent.putExtras(bundle);
        saveOpenURI();
        startActivity(intent);
      }
    })
    .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
      
      @Override
      public void onClick(DialogInterface dialog, int which) {
        // TODO Auto-generated method stub
        
      }
    })
    .show();
    setOpenAutoComplete();
  }

  private void setOpenAutoComplete() {
    // TODO Auto-generated method stub
    act_openuri.setText(getOpenURI());
      ArrayAdapter<String> adapt=new ArrayAdapter<String>(this
             , android.R.layout.simple_dropdown_item_1line,openurilist);
      act_openuri.setAdapter(adapt);
  }

  private String getOpenURI() {
    // TODO Auto-generated method stub
    SharedPreferences settings=this.getPreferences(Activity.MODE_PRIVATE);
       String uriss = settings.getString(PREF_OPENURI, "");//
       openurilist=new ArrayList<String>();//AutoCompleteTextView
       if(uriss!=""){     
         if(uriss.contains(",")){
           String[] uris=uriss.split(",");
           for(String uri:uris)
             {
             openurilist.add(uri);                             
             }
        }else{  
          openurilist.add(uriss);
          
          }
       }
       
       
       
       return settings.getString(PREF_OPENURINOW, "rtsp://");
  }

  private void saveOpenURI() {
    // TODO Auto-generated method stub
    checkOpenURI();
    SharedPreferences settings=this.getPreferences(Activity.MODE_PRIVATE);
    String uris = "";
       for(String muri : openurilist){
         if(uris==""){ 
           uris=muri;
           }else{ 
             uris+=","+muri;
             }
         }
       
       Editor editor=settings.edit();
       //
      
       editor.putString(PREF_OPENURI, uris);
       editor.putString(PREF_OPENURINOW, act_openuri.getText().toString());
       editor.commit();
  }

  private void checkOpenURI() {
    // TODO Auto-generated method stub
    String uname=act_openuri.getText().toString().trim();
       int position=-1;
       for(int i=0;i<openurilist.size();i++){
         if(openurilist.get(i).equals(uname)){
           position=i;
           break;
           }
         }
       if(position==-1){//
         openurilist.add(uname);
         }
  }

  private void dialog() {
      AlertDialog.Builder builder = new Builder(this);
      builder.setMessage(R.string.quitanswer);
      builder.setTitle(R.string.alert);
      builder.setPositiveButton(R.string.ok,
      new android.content.DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
      finish();
      }
      });
      builder.setNegativeButton(R.string.cancel,
      new android.content.DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
      }
      });
      builder.create().show();
      }
      @Override
      public boolean onKeyDown(int keyCode, KeyEvent event) {
      if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
      dialog();
      return false;
      }
      return false;

      }
    
   private void setAutoComplete()
   {
   
   //uri
       ArrayAdapter<String> adapt=new ArrayAdapter<String>(this
           , android.R.layout.simple_dropdown_item_1line,urilist);
       act_uri.setAdapter(adapt);
       
       //
       
       ArrayAdapter<String> adapter=new ArrayAdapter<String>(this
           , android.R.layout.simple_dropdown_item_1line, usernames);
       act_username.setAdapter(adapter);
       act_username.setOnItemClickListener(new OnItemClickListener() {

      @Override
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
          long arg3) {
        // TODO Auto-generated method stub
        String name=act_username.getText().toString().trim();
        for(UserInfo user : userlist){//            
          if(user.name.equals(name)){
            String pwd=user.pwd;
            boolean bl=user.isRemember;
            et_password.setText(pwd);
            cb_remember.setChecked(bl);
            return;
            }
          }
      }
    });
       
   }
   private String getInfo()
   {
     SharedPreferences settings=this.getPreferences(Activity.MODE_PRIVATE);
     
     String uriss = settings.getString(PREF_URI, "");//uri
     urilist=new ArrayList<String>();//AutoCompleteTextView
     if(uriss!=""){     
       if(uriss.contains(",")){
         String[] uris=uriss.split(",");
         for(String uri:uris)
           {
           urilist.add(uri);                             
           }
      }else{  
        urilist.add(uriss);
        
        }
     }
     
     String userinfos = settings.getString(PREF_USERINFO, "");//
     usernames=new ArrayList<String>();//AutoCompleteTextView
     userlist=new ArrayList<UserInfo>();// 
     if(userinfos!=""){     
       if(userinfos.contains(",")){
         String[] users=userinfos.split(",");
         for(String str : users){ 
           UserInfo u = new UserInfo();
           String[] user=str.split("/");
           u.name=user[0];
           if(user[1].equals(" "))
           {
            u.pwd=null; 
           }else {
            u.pwd=user[1];
        }
           
           u.isRemember=Boolean.parseBoolean(user[2]);
           usernames.add(user[0]);
           userlist.add(u);
      }            
      }else{
        UserInfo u = new UserInfo();
        String[] user=userinfos.split("/");
        u.name=user[0];
        u.pwd=user[1];
        u.isRemember=Boolean.parseBoolean(user[2]);
        usernames.add(user[0]);
        userlist.add(u);
        }
     }
      
    
     return settings.getString(PREF_NOW, "");
   }
   private void check(){
     //uri
     String uuri=act_uri.getText().toString().trim();
     int position1=-1;
     for(int i=0;i<urilist.size();i++){
       if(urilist.get(i).equals(uuri)){
         position1=i;
         break;
         }
       }
     if(position1==-1){//
       urilist.add(uuri);
       } 
     
     
     //userinfo
     String uname=act_username.getText().toString().trim();
     String pwd=et_password.getText().toString().trim();
     boolean bl=cb_remember.isChecked();
     int position=-1;
     for(int i=0;i<userlist.size();i++){
       if(userlist.get(i).name.equals(uname)){
         position=i;
         break;
         }
       }
     if(position>=0){//
       userlist.remove(position);
       }        
     UserInfo u=new UserInfo();
     u.name=uname;
     u.pwd=pwd;
     u.isRemember=bl;
     userlist.add(u);
     
   }
   
   private void saveInfo(){
     check();//
     SharedPreferences settings=this.getPreferences(Activity.MODE_PRIVATE);
     String userinfos = "";
     for(UserInfo user : userlist){
       //list
       String uname=user.name;
       String pwd=user.pwd;
       String userinfo;
       if(user.isRemember){
         userinfo=uname+"/"+pwd+"/true";
         }else{
           userinfo=uname+"/ /false";
           }
       if(userinfos==""){ 
         userinfos=userinfo;
         }else{ 
           userinfos+=","+userinfo;
           }
       }
     
          
     String uris = "";
     for(String muri : urilist){
       //urilist       
       if(uris==""){ 
         uris=muri;
         }else{ 
           uris+=","+muri;
           }
       }
     
     String uri_now=act_uri.getText().toString();
     String username_now=act_username.getText().toString();
     String password_now;
     boolean rb=cb_remember.isChecked();
     if(rb){
     password_now=et_password.getText().toString();
     }else {
    password_now=" ";
  }
     String now=uri_now+","+username_now+","+password_now+","+rb;
     Editor editor=settings.edit();
     //
     editor.putString(PREF_USERINFO, userinfos);
     editor.putString(PREF_URI, uris);
     editor.putString(PREF_NOW, now);
     editor.commit();
     //  
     
     
     }
     
 }
    
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.