diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 34505590e57dcf5466427da4183d027e6a244eb3..ff5fef043f1a4bc2b3a85d49cac5481bb7430db9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -82,7 +82,6 @@ android:label="Approved Leave(s)" android:screenOrientation="portrait" android:theme="@style/AppTheme1"></activity> - <activity android:name=".actionareas.od_display"></activity> </application> diff --git a/app/src/main/java/com/peruse/saran/amritaod/actionareas/applyodActivity.java b/app/src/main/java/com/peruse/saran/amritaod/actionareas/applyodActivity.java index f0dc01863618c2b1956a54a9ee23a3053d5e42b7..3d7841c767ec655115e3a2f052a899100d540850 100644 --- a/app/src/main/java/com/peruse/saran/amritaod/actionareas/applyodActivity.java +++ b/app/src/main/java/com/peruse/saran/amritaod/actionareas/applyodActivity.java @@ -88,7 +88,7 @@ public class applyodActivity extends AppCompatActivity implements AdapterView.On recievedRollno = intent.getExtras().getString("recievedRollno"); recievedSemester = intent.getExtras().getString("recievedSemester"); recievedBranch = intent.getExtras().getString("recievedBranch"); - currentdate = ""+startdate+'/'+startmonth+"/"+startyear; + currentdate = ""+startdate+'/'+(startmonth+1)+"/"+startyear; currentdatesend = ""+startyear+'/'+(startmonth+1)+'/'+startdate; oddatedisp.setText(currentdate); odnamedisp.setText(recievedUsername); @@ -181,7 +181,7 @@ public class applyodActivity extends AppCompatActivity implements AdapterView.On if(bitmap==null){ Toast.makeText(this, "Please Select an Image", Toast.LENGTH_SHORT).show(); } - else if(leavetype[0].equals("-Select Leave Type-")){ + else if(setleavetype.equals("-Select Leave Type-")){ Toast.makeText(this,"Please Select the Leave Type", Toast.LENGTH_SHORT).show(); } else if(sendstartdate==null){ diff --git a/app/src/main/java/com/peruse/saran/amritaod/actionareas/od_display.java b/app/src/main/java/com/peruse/saran/amritaod/actionareas/od_display.java deleted file mode 100644 index e183a94a3d6e0f7d815b70f4e14afa6c2e82fa99..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/peruse/saran/amritaod/actionareas/od_display.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.peruse.saran.amritaod.actionareas; - -import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; - -import com.peruse.saran.amritaod.R; - -public class od_display extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_od_display); - } -} diff --git a/app/src/main/java/com/peruse/saran/amritaod/actionareas/userAreaActivity.java b/app/src/main/java/com/peruse/saran/amritaod/actionareas/userAreaActivity.java index 32d03e294b4c59ab0a8cee89c2e992bef31e6f7b..5febc94f8677ca91df4e7998a50d4e6c53cbf670 100644 --- a/app/src/main/java/com/peruse/saran/amritaod/actionareas/userAreaActivity.java +++ b/app/src/main/java/com/peruse/saran/amritaod/actionareas/userAreaActivity.java @@ -9,6 +9,7 @@ import android.widget.TextView; import android.widget.Toast; import com.peruse.saran.amritaod.R; +import com.peruse.saran.amritaod.odhistory.history_approvedActivity; import com.peruse.saran.amritaod.recycler.odApproveActivity; public class userAreaActivity extends AppCompatActivity { @@ -67,12 +68,8 @@ public class userAreaActivity extends AppCompatActivity { } protected void list(View view){ - Intent newintent = new Intent(this,od_display.class); - newintent.putExtra("recievedUsername",recievedUsername) - .putExtra("recievedRollno",recievedRollno) - .putExtra("recievedSemester",recievedSemester) - .putExtra("recievedBranch",recievedBranch); - startActivity(newintent); + Intent intent = new Intent(this,history_approvedActivity.class); + startActivity(intent); } } diff --git a/app/src/main/java/com/peruse/saran/amritaod/approvedrecycler/CardAdapter.java b/app/src/main/java/com/peruse/saran/amritaod/approvedrecycler/CardAdapter.java index a0449a86f6f857a8a2ad5ad1c7563aa87cc4f4d1..60c0252cff1e68953179aeb04b2db2b43457bf79 100644 --- a/app/src/main/java/com/peruse/saran/amritaod/approvedrecycler/CardAdapter.java +++ b/app/src/main/java/com/peruse/saran/amritaod/approvedrecycler/CardAdapter.java @@ -58,7 +58,7 @@ public class CardAdapter extends RecyclerView.Adapter<com.peruse.saran.amritaod. } - class ViewHolder extends RecyclerView.ViewHolder{ + public class ViewHolder extends RecyclerView.ViewHolder{ public NetworkImageView imageView; public TextView textViewName; public TextView textViewPublisher; diff --git a/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_CustomVolleyRequest.java b/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_CustomVolleyRequest.java new file mode 100644 index 0000000000000000000000000000000000000000..7bc0e8d9a5911982e98162dc2ec19f6f0d19e2c9 --- /dev/null +++ b/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_CustomVolleyRequest.java @@ -0,0 +1,64 @@ +package com.peruse.saran.amritaod.odhistory; + +import android.content.Context; +import android.graphics.Bitmap; +import android.support.v4.util.LruCache; + +import com.android.volley.Cache; +import com.android.volley.Network; +import com.android.volley.RequestQueue; +import com.android.volley.toolbox.BasicNetwork; +import com.android.volley.toolbox.DiskBasedCache; +import com.android.volley.toolbox.HurlStack; +import com.android.volley.toolbox.ImageLoader; + +/** + * Created by Yazhini on 4/21/2017. + */ + +public class history_CustomVolleyRequest { + private static com.peruse.saran.amritaod.recycler.CustomVolleyRequest customVolleyRequest; + private static Context context; + private RequestQueue requestQueue; + private ImageLoader imageLoader; + public history_CustomVolleyRequest(Context context) { + this.context = context; + this.requestQueue = getRequestQueue(); + + imageLoader = new ImageLoader(requestQueue, + new ImageLoader.ImageCache() { + private final LruCache<String, Bitmap> + cache = new LruCache<String, Bitmap>(20); + + @Override + public Bitmap getBitmap(String url) { + return cache.get(url); + } + + @Override + public void putBitmap(String url, Bitmap bitmap) { + cache.put(url, bitmap); + } + }); + } + public static synchronized com.peruse.saran.amritaod.recycler.CustomVolleyRequest getInstance(Context context) { + if (customVolleyRequest == null) { + customVolleyRequest = new com.peruse.saran.amritaod.recycler.CustomVolleyRequest(context); + } + return customVolleyRequest; + } + + public RequestQueue getRequestQueue() { + if (requestQueue == null) { + Cache cache = new DiskBasedCache(context.getCacheDir(), 10 * 1024 * 1024); + Network network = new BasicNetwork(new HurlStack()); + requestQueue = new RequestQueue(cache, network); + requestQueue.start(); + } + return requestQueue; + } + public ImageLoader getImageLoader() { + return imageLoader; + } + +} diff --git a/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_approvedActivity.java b/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_approvedActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..9b701b573f00914955cd7b250a684e900553a28d --- /dev/null +++ b/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_approvedActivity.java @@ -0,0 +1,126 @@ +package com.peruse.saran.amritaod.odhistory; + +import android.os.Build; +import android.os.Bundle; +import android.support.annotation.RequiresApi; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.View; +import android.widget.ProgressBar; + +import com.android.volley.RequestQueue; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.JsonArrayRequest; +import com.android.volley.toolbox.Volley; +import com.peruse.saran.amritaod.R; +import com.peruse.saran.amritaod.approvedrecycler.CardAdapter; +import com.peruse.saran.amritaod.templates.oddetailstemplate; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Yazhini on 4/21/2017. + */ +@RequiresApi(api = Build.VERSION_CODES.M) + + +public class history_approvedActivity extends AppCompatActivity implements View.OnScrollChangeListener { + private List<oddetailstemplate> listOdApprove; + private RecyclerView recyclerView; + private RecyclerView.LayoutManager layoutManager; + private RecyclerView.Adapter adapter; + private RequestQueue requestQueue; + private int requestCount = 1; + private boolean mLoading = false; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_history_odapprove); + recyclerView = (RecyclerView) findViewById(R.id.recyclerView); + recyclerView.setHasFixedSize(true); + layoutManager = new LinearLayoutManager(this); + recyclerView.setLayoutManager(layoutManager); + listOdApprove = new ArrayList<>(); + requestQueue = Volley.newRequestQueue(this); + getData(); + recyclerView.setOnScrollChangeListener(this); + adapter = new CardAdapter(listOdApprove, this); + recyclerView.setAdapter(adapter); + } + + private JsonArrayRequest getDataFromServer(int requestCount) { + //Initializing ProgressBar + final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar1); + + //Displaying Progressbar + progressBar.setVisibility(View.VISIBLE); + setProgressBarIndeterminateVisibility(true); + + //JsonArrayRequest of volley + JsonArrayRequest jsonArrayRequest = new JsonArrayRequest("https://amritaod.000webhostapp.com/androidmain.php?page=" + String.valueOf(requestCount), + new Response.Listener<JSONArray>() { + @Override + public void onResponse(JSONArray response) { + //Calling method parseData to parse the json response + parseData(response); + //Hiding the progressbar + progressBar.setVisibility(View.GONE); + } + }, + new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + progressBar.setVisibility(View.GONE); + //If an error occurs that means end of the list has reached + } + }); + + //Returning the request + return jsonArrayRequest; + } + + private void getData() { + requestQueue.add(getDataFromServer(requestCount)); + requestCount++; + } + private void parseData(JSONArray array) { + for (int i = 0; i < array.length(); i++) { + oddetailstemplate odDetailsObject = new oddetailstemplate(); + JSONObject json = null; + try { + json = array.getJSONObject(i); + odDetailsObject.setImageUrl(json.getString("photo")); + odDetailsObject.setName(json.getString("rollno")); + odDetailsObject.setPublisher(json.getString("odtype")); + odDetailsObject.setId(json.getString("id")); + odDetailsObject.setFromdate(json.getString("fromdate")); + odDetailsObject.setTodate(json.getString("todate")); + odDetailsObject.setFromdateperiod(json.getString("fromperiod")); + odDetailsObject.setTodateperiod(json.getString("toperiod")); + odDetailsObject.setReason(json.getString("reason")); + } catch (JSONException e) { + e.printStackTrace(); + } + listOdApprove.add(odDetailsObject); + } + adapter.notifyDataSetChanged(); + } + @Override + public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { + int totalItem = recyclerView.getAdapter().getItemCount(); + int lastVisibleItem = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastVisibleItemPosition(); + if (!mLoading && lastVisibleItem == totalItem - 1) { + mLoading = true; + getData(); + mLoading = false; + } + } + +} diff --git a/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_cardadapter.java b/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_cardadapter.java new file mode 100644 index 0000000000000000000000000000000000000000..554711560f4d489a245f12f2caa03e4507c98fff --- /dev/null +++ b/app/src/main/java/com/peruse/saran/amritaod/odhistory/history_cardadapter.java @@ -0,0 +1,88 @@ +package com.peruse.saran.amritaod.odhistory; + +import android.content.Context; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.TextView; + +import com.android.volley.toolbox.ImageLoader; +import com.android.volley.toolbox.NetworkImageView; +import com.peruse.saran.amritaod.R; +import com.peruse.saran.amritaod.recycler.CustomVolleyRequest; +import com.peruse.saran.amritaod.templates.oddetailstemplate; + +import java.util.List; + +/** + * Created by Yazhini on 4/21/2017. + */ + +public class history_cardadapter extends RecyclerView.Adapter<com.peruse.saran.amritaod.odhistory.history_cardadapter.ViewHolder> { + List<oddetailstemplate> listOdApprove; + private ImageLoader imageLoader; + private Context context; + + public history_cardadapter(List<oddetailstemplate> listOdApprove, Context context){ + super(); + this.listOdApprove = listOdApprove; + this.context = context; + } + + + + @Override + public com.peruse.saran.amritaod.odhistory.history_cardadapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.odlist, parent, false); + com.peruse.saran.amritaod.odhistory.history_cardadapter.ViewHolder viewHolder = new com.peruse.saran.amritaod.odhistory.history_cardadapter.ViewHolder(v); + return viewHolder; + } + @Override + public void onBindViewHolder(final com.peruse.saran.amritaod.odhistory.history_cardadapter.ViewHolder holder, int position) { + oddetailstemplate superHero = listOdApprove.get(position); + final String id = superHero.getId(); + imageLoader = CustomVolleyRequest.getInstance(context).getImageLoader(); + imageLoader.get(superHero.getImageUrl(), ImageLoader.getImageListener(holder.imageView, R.drawable.image, R.drawable.loaderror)); + holder.imageView.setImageUrl(superHero.getImageUrl(), imageLoader); + holder.textViewName.setText(superHero.getName()); + holder.textViewPublisher.setText(superHero.getPublisher()); + holder.textViewfromdate.setText(superHero.getFromdate()); + holder.textViewtodate.setText(superHero.getTodate()); + holder.textViewfromdateperiod.setText(superHero.getFromdateperiod()); + holder.textViewtodateperiod.setText(superHero.getTodateperiod()); + holder.textViewreason.setText(superHero.getReason()); + } + @Override + public int getItemCount() { + return listOdApprove.size(); + } + + + class ViewHolder extends RecyclerView.ViewHolder{ + public NetworkImageView imageView; + public TextView textViewName; + public TextView textViewPublisher; + public TextView textViewfromdate; + public TextView textViewtodate; + public Button approvebutton,denybutton; + public TextView textViewfromdateperiod; + public TextView textViewtodateperiod; + public TextView textViewreason; + public ViewHolder(View itemView) { + super(itemView); + imageView = (NetworkImageView) itemView.findViewById(R.id.imageViewHero); + textViewName = (TextView) itemView.findViewById(R.id.textViewName); + textViewPublisher = (TextView) itemView.findViewById(R.id.textViewPublisher); + approvebutton = (Button) itemView.findViewById(R.id.odapprovebutton_id); + denybutton = (Button) itemView.findViewById(R.id.oddenybutton_id); + textViewfromdate = (TextView)itemView.findViewById(R.id.fromdateid); + textViewtodate = (TextView)itemView.findViewById(R.id.todateid); + textViewfromdateperiod = (TextView)itemView.findViewById(R.id.fromdateperiodid); + textViewtodateperiod = (TextView)itemView.findViewById(R.id.todateperiodid); + textViewreason = (TextView)itemView.findViewById(R.id.textviewreasonid); + } + } + +} diff --git a/app/src/main/res/layout/activity_history_odapprove.xml b/app/src/main/res/layout/activity_history_odapprove.xml new file mode 100644 index 0000000000000000000000000000000000000000..a2526ce74703ccd7f2ce311bade653e47b834933 --- /dev/null +++ b/app/src/main/res/layout/activity_history_odapprove.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@drawable/rep"> + + <android.support.v7.widget.RecyclerView + android:id="@+id/recyclerView" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_centerInParent="true" + android:background="@color/cardview_light_background" /> + + <ProgressBar + android:id="@+id/progressBar1" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_centerInParent="true" /> + +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_od_approve.xml b/app/src/main/res/layout/activity_od_approve.xml index 8aa9d4e0175cfb4887abbcddebaa4efb9765f320..a2526ce74703ccd7f2ce311bade653e47b834933 100644 --- a/app/src/main/res/layout/activity_od_approve.xml +++ b/app/src/main/res/layout/activity_od_approve.xml @@ -1,7 +1,8 @@ <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:background="@drawable/rep"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerView" diff --git a/app/src/main/res/layout/odapprovedlist.xml b/app/src/main/res/layout/odapprovedlist.xml index 9e3ff9c1c45c3672a98bc17e034dd1bfebfad198..4ff0b5f9abd80ed963bb0984d7c1df2f950db95d 100644 --- a/app/src/main/res/layout/odapprovedlist.xml +++ b/app/src/main/res/layout/odapprovedlist.xml @@ -2,7 +2,8 @@ <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" - android:layout_height="670dp"> + android:layout_height="670dp" + > <android.support.v7.widget.CardView android:id="@+id/cardView" @@ -13,7 +14,8 @@ android:layout_gravity="center_horizontal" card_view:cardCornerRadius="5dp" card_view:cardElevation="10dp" - card_view:cardUseCompatPadding="true"> + card_view:cardUseCompatPadding="true" + > <LinearLayout android:layout_width="match_parent" diff --git a/app/src/main/res/layout/activity_od_display.xml b/app/src/main/res/layout/odlist.xml similarity index 99% rename from app/src/main/res/layout/activity_od_display.xml rename to app/src/main/res/layout/odlist.xml index 49df4712d8d73fbf206750ab22af59c8843b6903..9e02d353e9ae5133a303a762cfae93c7422fb93f 100644 --- a/app/src/main/res/layout/activity_od_display.xml +++ b/app/src/main/res/layout/odlist.xml @@ -3,6 +3,7 @@ xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="670dp"> + <android.support.v7.widget.CardView android:id="@+id/cardView" android:layout_width="375dp" @@ -166,6 +167,4 @@ </android.support.v7.widget.CardView> - - -</RelativeLayout> +</RelativeLayout> \ No newline at end of file