OoryaK

My task with utl / Oorya

Mar 23rd, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.86 KB | None | 0 0
  1. //=========================ENTRY CLASS
  2. import android.support.v7.app.AppCompatActivity;
  3. import android.app.AlertDialog;
  4. import android.content.Context;
  5. import android.content.DialogInterface;
  6. import android.content.Intent;
  7. import android.content.SharedPreferences;
  8. import android.os.Bundle;
  9. import android.text.InputType;
  10. import android.widget.EditText;
  11. import android.widget.ListView;
  12. import android.widget.TextView;
  13.  
  14. public class Entry extends AppCompatActivity{
  15.  
  16.     private TextView txt;
  17.     protected static ListView myList;
  18.     private String myText;
  19.     private Context context = this;
  20.     private String myUser ;
  21.     private TaskAdapter myTask ;
  22.  
  23.     @Override
  24.     protected void onCreate(Bundle savedInstanceState) {
  25.         super.onCreate(savedInstanceState);
  26.         setContentView(R.layout.entry);
  27.         txt=(TextView)findViewById(R.id.text);
  28.         myList=(ListView)findViewById(R.id.myListV);
  29.         myUser = getIntent().getStringExtra("putUser");
  30.         txt.setText("Hello " + myUser);
  31.  
  32.         refresh();
  33.     }
  34.  
  35.     @Override
  36.     public boolean onCreateOptionsMenu(Menu m)
  37.     {
  38.         MenuInflater inflater = getMenuInflater();
  39.         inflater.inflate(R.menu.menu_entry, m);
  40.         return super.onCreateOptionsMenu(m);
  41.     }
  42.  
  43.     @Override
  44.     public boolean onOptionsItemSelected(MenuItem item)
  45.     {
  46.         switch (item.getItemId())
  47.         {
  48.             case R.id.addTask:
  49.                 btnAddTask();
  50.                 break;
  51.             case R.id.logout:
  52.                 btnLogout();
  53.                 break;
  54.         }
  55.         return super.onOptionsItemSelected(item);
  56.     }
  57.  
  58.     public void refresh()
  59.     {
  60.         myTask=new TaskAdapter(context,myUser);
  61.         myList.setAdapter(myTask);
  62.     }
  63.  
  64.     public void btnAddTask()
  65.     {
  66.         //create builder
  67.         AlertDialog.Builder builder=new AlertDialog.Builder(this);
  68.         //set title
  69.         builder.setTitle("Enter new task");
  70.  
  71.         //set up the input
  72.         final EditText input = new EditText(this);
  73.         //specify the type of input expected
  74.         input.setInputType(InputType.TYPE_CLASS_TEXT);
  75.         //add EditText view to the Dialog
  76.         builder.setView(input);
  77.         // positive feed back
  78.         builder.setPositiveButton("ADD TASK", new DialogInterface.OnClickListener() {
  79.             public void onClick(DialogInterface dialog, int which) {
  80.                 myText = input.getText().toString();
  81.  
  82.                 UtlShared myPref = new UtlShared(context, myUser);
  83.                 myPref.newTask(myText);
  84.  
  85.                 refresh();
  86.             }
  87.         });
  88.         //negative feed back
  89.         builder.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
  90.             @Override
  91.             public void onClick(DialogInterface dialog, int which) {
  92.                 dialog.cancel();
  93.             }
  94.         });
  95.         builder.setIcon(android.R.drawable.ic_dialog_info);
  96.         builder.show();
  97.     }
  98.  
  99.  
  100.     public void btnLogout()
  101.     {
  102.         //declaration of shared preferences
  103.         SharedPreferences pref=getApplicationContext().getSharedPreferences("myPref",MODE_PRIVATE);
  104.         //declaration of editor
  105.         SharedPreferences.Editor editor=pref.edit();
  106.         //remove key user and pass
  107.         editor.remove("userLogged").commit();
  108.         //start another window - main window
  109.         Intent iMain = new Intent(this,MainActivity.class);
  110.         this.startActivity(iMain);
  111.         finish();
  112.     }
  113. }
  114.  
  115. //===================================UTL SHARED CLASS
  116. import android.content.Context;
  117. import android.content.SharedPreferences;
  118. import java.util.ArrayList;
  119. import java.util.Map;
  120.  
  121. public class UtlShared
  122. {
  123.     private Context context;
  124.     private  SharedPreferences userPref;
  125.     private  SharedPreferences.Editor editor;
  126.     public String taskName;
  127.     public Boolean taskDone;
  128.     private String userName;
  129.     private TaskAdapter myTask ;
  130.  
  131.     private  ArrayList<UtlShared> taskList ;
  132.  
  133.     //constructor for adding name to list
  134.     public UtlShared(String taskName, Boolean taskDone)
  135.     {
  136.         this.taskName=taskName;
  137.         this.taskDone=taskDone;
  138.     }
  139.  
  140.  
  141.     //constructor for new UtlShared instance
  142.     public UtlShared(Context context, String userName)
  143.     {
  144.         //get context
  145.         this.context = context;
  146.         //get username for shared preferences file
  147.         this.userName=userName;
  148.         userPref=context.getSharedPreferences(userName, Context.MODE_PRIVATE);
  149.         editor = userPref.edit();
  150.         //create new list
  151.         taskList = new ArrayList<UtlShared>();
  152.         //get all tasks to list
  153.         getTasks();
  154.     }
  155.  
  156.     public void newTask(String taskName)
  157.     {
  158.         //PUT NEW TASK INTO SHARED PREFERENCES
  159.         editor.putString(taskName, "0");
  160.         editor.commit();
  161.         //PUT TASK INTO LIST
  162.         taskList.add(new UtlShared(taskName, false));
  163.     }
  164.  
  165.     public void removeTask(String taskName)
  166.     {
  167.         //REMOVE TASK FROM SHARED PREFERENCES
  168.         editor.remove(taskName);
  169.         editor.commit();
  170.         //REMOVE TASK FROM LIST
  171.         taskList.remove(taskName);
  172.         refresh();
  173.     }
  174.  
  175.     public void doneTask(String taskName, boolean taskDone)
  176.     {
  177.         //CHANGE TASK IN SHARED PREFERENCES
  178.         editor.putString(taskName, taskDone ? "1" : "0");
  179.         editor.commit();
  180.  
  181.         //REMOVE TASK FROM LIST
  182.         taskList.remove(taskName);
  183.         //ADD TASK WITH NEW TASK DONE INTO LIST
  184.         taskList.add(new UtlShared(taskName, taskDone));
  185.         refresh();
  186.     }
  187.  
  188.     public void getTasks()
  189.     {
  190.         //GET ALL TASK FROM SHARED PREFERENCES
  191.         Map<String,?> tasks= userPref.getAll();
  192.         for(Map.Entry<String,?> singleTask:tasks.entrySet())
  193.         {
  194.             //INSERT TASK INTO LIST
  195.             taskList.add(new UtlShared(singleTask.getKey(), singleTask.getValue().equals("1")));
  196.         }
  197.     }
  198.  
  199.     public  ArrayList<UtlShared> getAllTasks()
  200.     {
  201.         //GETTER RETURN TASK LIST
  202.         return taskList;
  203.     }
  204.  
  205.     public void refresh()
  206.     {
  207.         myTask=new TaskAdapter(context,userName);
  208.         Entry.myList.setAdapter(myTask);
  209.     }
  210. }
  211.  
  212. //===============================TASK ADAPTER CLASS
  213.  
  214. import android.app.AlertDialog;
  215. import android.content.Context;
  216. import android.content.DialogInterface;
  217. import android.graphics.Color;
  218. import android.view.View;
  219. import android.view.ViewGroup;
  220. import android.widget.BaseAdapter;
  221. import android.widget.ImageButton;
  222. import android.widget.LinearLayout;
  223. import android.widget.TextView;
  224. import java.util.ArrayList;
  225.  
  226.  
  227. public class TaskAdapter extends BaseAdapter
  228. {
  229.     //SET CONTEXT
  230.     Context context;
  231.     String userName;
  232.     ArrayList<UtlShared> userTasks;
  233.  
  234.     public TaskAdapter(Context context,String userName)
  235.     {
  236.         this.context=context;
  237.         this.userName=userName;
  238.         //CREATE UtlShared instance
  239.         UtlShared myPref = new UtlShared(context,userName);
  240.         //get all task into instance
  241.         userTasks = myPref.getAllTasks();
  242.     }
  243.  
  244.     @Override
  245.     public int getCount() {
  246.         //RETURN SIZE OF ALL TASKS
  247.         return userTasks.size();
  248.     }
  249.  
  250.     @Override
  251.     public Object getItem(int position) {
  252.         return null;
  253.     }
  254.  
  255.     @Override
  256.     public long getItemId(int position) {
  257.         return 0;
  258.     }
  259.  
  260.     @Override
  261.     public View getView(final int position, View convertView, ViewGroup parent) {
  262.  
  263.         LinearLayout myLayout = new LinearLayout(context);
  264.         myLayout.setOrientation(LinearLayout.HORIZONTAL);
  265.  
  266.         ImageButton delete=new ImageButton(context);
  267.         delete.setBackgroundResource(R.drawable.trash);
  268.         //CREATE NEW TEXT VIEW
  269.         final TextView taskName = new TextView(context);
  270.         //PUT TASK NAME INTO TEXT VIEW
  271.         taskName.setText(userTasks.get(position).taskName);
  272.         taskName.setTextSize(30);
  273.         //SET COLOR OF TASK
  274.         myLayout.setBackgroundColor(userTasks.get(position).taskDone.equals(true) ? Color.GREEN : Color.RED);
  275.  
  276.         //Change color
  277.         myLayout.setOnClickListener(new View.OnClickListener() {
  278.             @Override
  279.             public void onClick(View v) {
  280.                 AlertDialog.Builder builder=new AlertDialog.Builder(context);
  281.                 builder.setTitle(userTasks.get(position).taskDone.equals(true) ? "Are you sure the task not completed?" : "Are you sure task completed?");
  282.  
  283.                 builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
  284.                     @Override
  285.                     public void onClick(DialogInterface dialog, int which) {
  286.                         UtlShared myPref = new UtlShared(context, userName);
  287.                         myPref.doneTask(userTasks.get(position).taskName, userTasks.get(position).taskDone.equals(true) ? false : true);
  288.                     }
  289.                 });
  290.                 builder.setIcon(android.R.drawable.ic_menu_help);
  291.                 builder.show();
  292.             }
  293.         });
  294.  
  295.         delete.setOnClickListener(new View.OnClickListener() {
  296.             @Override
  297.             public void onClick(View v) {
  298.                 AlertDialog.Builder builder=new AlertDialog.Builder(context);
  299.                 builder.setTitle("Are you sure to delete task?");
  300.                 builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
  301.                     @Override
  302.                     public void onClick(DialogInterface dialog, int which) {
  303.                         UtlShared myPref = new UtlShared(context, userName);
  304.                         myPref.removeTask(userTasks.get(position).taskName);
  305.                     }
  306.                 });
  307.                 builder.setIcon(android.R.drawable.ic_delete);
  308.                 builder.show();
  309.             }
  310.         });
  311.         //RETURN TEXT VIEW
  312.         myLayout.addView(delete);
  313.         myLayout.addView(taskName);
  314.         return myLayout;
  315.  
  316.     }
  317. }
Add Comment
Please, Sign In to add comment