Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.69 KB | None | 0 0
  1. package com.example.ss899.inclass4;
  2.  
  3. import android.app.Activity;
  4. import android.app.AlertDialog;
  5. import android.app.ProgressDialog;
  6. import android.content.DialogInterface;
  7. import android.os.AsyncTask;
  8. import android.os.Handler;
  9. import android.os.Message;
  10. import android.support.v7.app.AppCompatActivity;
  11. import android.os.Bundle;
  12. import android.support.v7.widget.Toolbar;
  13. import android.util.Log;
  14. import android.view.View;
  15. import android.widget.AdapterView;
  16. import android.widget.ArrayAdapter;
  17. import android.widget.Button;
  18. import android.widget.CheckBox;
  19. import android.widget.SeekBar;
  20. import android.widget.Spinner;
  21. import android.widget.TextView;
  22.  
  23. import java.util.ArrayList;
  24. import java.util.concurrent.ExecutorService;
  25. import java.util.concurrent.Executors;
  26.  
  27. public class MainActivity extends AppCompatActivity {
  28.  
  29. Spinner spinner;
  30.  
  31. TextView textViewpassword;
  32. Button bthread,basync;
  33. ProgressDialog progressDialog;
  34. CheckBox checknumbers,checkupper,checklower,checkspecial;
  35. android.os.Handler handler;
  36. ExecutorService threadpool;
  37. int threadsize;
  38. int pass_length;
  39. boolean checknum,checkup,checklow,checksp;
  40. String test;
  41. @Override
  42. protected void onCreate(Bundle savedInstanceState) {
  43. super.onCreate(savedInstanceState);
  44. setContentView(R.layout.activity_main);
  45. checknumbers= (CheckBox) findViewById(R.id.checkBoxnumbers);
  46. checkupper= (CheckBox) findViewById(R.id.checkBoxupper);
  47. checklower= (CheckBox) findViewById(R.id.checkBoxlower);
  48. checkspecial= (CheckBox) findViewById(R.id.checkBoxspecial);
  49.  
  50. spinner= (Spinner) findViewById(R.id.spinner);
  51. ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
  52. R.array.password_length, android.R.layout.simple_spinner_item);
  53. adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  54. // Apply the adapter to the spinner
  55. spinner.setAdapter(adapter);
  56. test= (String) spinner.getSelectedItem();
  57.  
  58. if(test.equals("8-12")){
  59. pass_length=0;
  60. }else if(test.equals("13-17")){
  61. pass_length=1;
  62. }else{
  63. pass_length=2;
  64. }
  65. Log.d("test", test + "");
  66. // spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
  67. //
  68. // public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  69. // test= (String) spinner.getSelectedItem();
  70. // Log.d("test",test+"");
  71. // if(test.equals("8-12")){
  72. // pass_length=0;
  73. // }else if(test.equals("13-17")){
  74. // pass_length=1;
  75. // }else{
  76. // pass_length=2;
  77. // }
  78. // }
  79. //
  80. // @Override
  81. // public void onNothingSelected(AdapterView<?> parent) {
  82. //
  83. // }
  84. // });
  85.  
  86.  
  87.  
  88. if(checknumbers.isChecked()==true){
  89. checknum=true;
  90. }
  91. else{
  92. checknum=false;
  93. }
  94. if(checkupper.isChecked()==true){
  95. checkup=true;
  96. }else{
  97. checkup=false;
  98. }
  99. if(checklower.isChecked()==true){
  100. checklow=true;
  101. }else{
  102. checklow=false;
  103. }
  104. if(checkspecial.isChecked()==true){
  105. checksp=true;
  106. }else{
  107. checksp=false;
  108. }
  109.  
  110. handler=new Handler(new Handler.Callback() {
  111. @Override
  112. public boolean handleMessage(Message msg) {
  113.  
  114. switch(msg.what){
  115. case DoWork.STATUS_START:
  116. progressDialog.show();
  117. break;
  118. case DoWork.STATUS_STOP:
  119. progressDialog.dismiss();
  120. }
  121.  
  122. return false;
  123. }
  124. });
  125. progressDialog=new ProgressDialog(MainActivity.this);
  126. progressDialog.setTitle("Generating Password ...");
  127. progressDialog.setCancelable(false);
  128.  
  129.  
  130. textViewpassword= (TextView) findViewById(R.id.textViewpassword);
  131.  
  132.  
  133. basync = (Button) findViewById(R.id.buttonasync);
  134. basync.setOnClickListener(new View.OnClickListener() {
  135. @Override
  136. public void onClick(View v) {
  137. test= (String) spinner.getSelectedItem();
  138. Log.d("pass",test+"");
  139. if(test.equals("8-12")){
  140. pass_length=0;
  141. }else if(test.equals("13-17")){
  142. pass_length=1;
  143. }else{
  144. pass_length=2;
  145. }
  146. new MyTask().execute(pass_length);
  147. }
  148. });
  149. bthread= (Button) findViewById(R.id.buttonthread);
  150. bthread.setOnClickListener(new View.OnClickListener() {
  151. @Override
  152. public void onClick(View v) {
  153. // if(count==1){
  154. // threadsize=1;
  155. // }else{
  156. // threadsize=(int)count/2;
  157. // }
  158. threadpool= Executors.newFixedThreadPool(threadsize);
  159. threadpool.execute(new DoWork());
  160. }
  161. });
  162.  
  163. }
  164.  
  165.  
  166.  
  167.  
  168. class DoWork implements Runnable{
  169. final static int STATUS_START=0x00;
  170. final static int STATUS_STOP=0x01;
  171. ArrayList<String> arrayList=new ArrayList<>();
  172. @Override
  173. public void run() {
  174. Message message=new Message();
  175. message.what=STATUS_START;
  176. handler.sendMessage(message);
  177.  
  178. // for(int i=0;i<count;i++){
  179. // arrayList.add(Util.getPassword());
  180. // }
  181. message=new Message();
  182. message.what=STATUS_STOP;
  183. Bundle data=new Bundle();
  184. data.putStringArrayList("list",arrayList);
  185. message.setData(data);
  186. handler.sendMessage(message);
  187.  
  188. }
  189. }
  190. class MyTask extends AsyncTask<Integer,Integer,String> {
  191. @Override
  192. protected void onPreExecute() {
  193. progressDialog.show();
  194. }
  195.  
  196. @Override
  197. protected void onPostExecute(String password) {
  198.  
  199. textViewpassword.setText(password+"");
  200.  
  201. progressDialog.dismiss();
  202. }
  203.  
  204. @Override
  205. protected void onProgressUpdate(Integer... values) {
  206.  
  207. }
  208.  
  209. @Override
  210. protected String doInBackground(Integer... params) {
  211. String password=Util.getPassword(params[0],checknum,checkup,checklow,checksp);
  212. return password;
  213. }
  214. }
  215. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement