diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c7812d26345917e3bc26d5b986b551683e8b0375..829a57bfe0ae62cebcbd6ad1150c6b95b932e43a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -41,8 +41,9 @@ android:value="barcode" /> <activity android:name=".qr.PictureBarcodeActivity" /> - <activity android:name=".qr.ScannedBarcodeActivity"></activity> - <activity android:name=".qr.QRReaderActivity"></activity> + <activity android:name=".qr.ScannedBarcodeActivity" /> + <activity android:name=".qr.QRReaderActivity" /> + <activity android:name=".AllEventActivity"></activity> </application> </manifest> \ No newline at end of file diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/AllEventActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/AllEventActivity.java new file mode 100644 index 0000000000000000000000000000000000000000..b15c44145d4ea4628c33df683ec55d4d66705425 --- /dev/null +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/AllEventActivity.java @@ -0,0 +1,64 @@ +package com.ireallydontcare.viet.posseidon; + +import android.content.Intent; +import android.os.AsyncTask; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.view.Menu; +import android.view.MenuItem; + +import com.ireallydontcare.viet.posseidon.model.Event; +import com.ireallydontcare.viet.posseidon.qr.QRActivity; + +import java.util.List; + +public class AllEventActivity extends SubjectActivity{ + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + } + + @Override + protected void init(){ + setContentView(R.layout.activity_all_event); + + eventRecyclerView = (RecyclerView) findViewById(R.id.AllEventRecyclerView); + eventRecyclerView.setHasFixedSize(true); + eventLayoutManager = new LinearLayoutManager(this); + eventRecyclerView.setLayoutManager(eventLayoutManager); + + } + + @Override + protected void loadItemsInBackground(){ + new AsyncTask<Void, Void, List<Event>>() { + + @Override + protected List<Event> doInBackground(Void... voids) { + List<Event> events = eventDatabase.EventDao().getAll(); + return events; + + } + + @Override + protected void onPostExecute(List<Event> events) { + eventAdapter.update(events); + } + }.execute(); + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return false; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + return false; + } +} diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java index 26e7bc21a7187b2bbe050e0addeb71a183329ace..5aa3ea861341b3f4994d3da7ca2c6768a7ac5dfa 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/MainActivity.java @@ -149,6 +149,10 @@ public class MainActivity extends AppCompatActivity return true; case R.id.action_deleteall: deleteall(); + case R.id.allevent: + Intent Intent = new Intent(); + Intent.setClass(MainActivity.this, AllEventActivity.class); + startActivity(Intent); default: return true; } diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java index c57360a6f7c09edf2e09a512d15bba1b054e2247..1aa777b03d166d823e3308be064bc22faad849fa 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/SubjectActivity.java @@ -12,6 +12,7 @@ import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.widget.TextView; import com.google.gson.Gson; import com.ireallydontcare.viet.posseidon.adapter.EventAdapter; @@ -38,16 +39,29 @@ public class SubjectActivity extends AppCompatActivity public Long subjectId; public Subject currentSubject; - private RecyclerView eventRecyclerView; - private EventAdapter eventAdapter; - private RecyclerView.LayoutManager eventLayoutManager; - private EventDatabase eventDatabase; - private MenuItem qrButton; - + protected RecyclerView eventRecyclerView; + protected EventAdapter eventAdapter; + protected RecyclerView.LayoutManager eventLayoutManager; + protected EventDatabase eventDatabase; + + private TextView codeText; + private TextView descriptionText; + private TextView creditText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.activity_subject); + init(); + eventDatabase = Room.databaseBuilder( + getApplicationContext(), + EventDatabase.class, + "event-list" + ).build(); + eventAdapter = new EventAdapter(); + eventRecyclerView.setAdapter(eventAdapter); + + } + + protected void init(){ currentSubject = new Subject(); subjectId = getIntent().getExtras().getLong(SUBJECT_ID); currentSubject.id = subjectId; @@ -57,8 +71,7 @@ public class SubjectActivity extends AppCompatActivity currentSubject.credit= getIntent().getExtras().getInt(SUBJECT_CREDIT); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - - + setContentView(R.layout.activity_subject); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fabevent); fab.setOnClickListener(new View.OnClickListener() { @Override @@ -67,25 +80,21 @@ public class SubjectActivity extends AppCompatActivity } }); - qrButton = (MenuItem) findViewById(R.id.genQR); - eventRecyclerView = (RecyclerView) findViewById(R.id.EventRecyclerView); eventRecyclerView.setHasFixedSize(true); - - eventLayoutManager = new LinearLayoutManager(this); - - eventRecyclerView.setLayoutManager(eventLayoutManager); - eventAdapter = new EventAdapter(); - eventRecyclerView.setAdapter(eventAdapter); + codeText = (TextView) findViewById(R.id.codeText); + descriptionText= (TextView) findViewById(R.id.descriptionText); + creditText = (TextView) findViewById(R.id.creditText); + setText(); - eventDatabase = Room.databaseBuilder( - getApplicationContext(), - EventDatabase.class, - "event-list" - ).build(); + } + public void setText(){ + codeText.setText(currentSubject.code); + descriptionText.setText(currentSubject.description); + creditText.setText(new Integer(currentSubject.credit).toString() ); } @@ -112,7 +121,7 @@ public class SubjectActivity extends AppCompatActivity }.execute(); }; - private void loadItemsInBackground(){ + protected void loadItemsInBackground(){ new AsyncTask<Void, Void, List<Event>>() { @Override diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java index d6e24e3451515b0dd8204178d40a97bc92ff2d0d..6e7584c9d3416b44803d559df66cf722369d6bfc 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/adapter/EventAdapter.java @@ -10,7 +10,10 @@ import android.widget.TextView; import com.ireallydontcare.viet.posseidon.R; import com.ireallydontcare.viet.posseidon.model.Event; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; public class EventAdapter extends RecyclerView.Adapter<EventAdapter.EventViewHolder> { @@ -36,22 +39,24 @@ public class EventAdapter extends RecyclerView.Adapter<EventAdapter.EventViewHol // - get element from your dataset at this position // - replace the contents of the view with that element final Event event = events.get(position); - holder.name.setText(event.type); - holder.code.setText(event.SubjectId.toString()); + holder.type.setText(event.type); + + DateFormat format = new SimpleDateFormat( "MM/dd/HH:mm"); + holder.date.setText(format.format(new Date(event.datetime))); holder.event = event; } public class EventViewHolder extends RecyclerView.ViewHolder { Event event; - TextView name; - TextView code; + TextView type; + TextView date; public EventViewHolder(View itemView) { super(itemView); - name = itemView.findViewById(R.id.subject_name); - code = itemView.findViewById(R.id.subject_code); + type = itemView.findViewById(R.id.event_type); + date = itemView.findViewById(R.id.event_date); itemView.setOnClickListener(new View.OnClickListener() { @Override diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/data/EventDao.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/data/EventDao.java index f373ad5d3e244ead7bf6a0b2352da93eb150b5fd..ed3f2c508623a1a448de6cb2eb75ef3e73e55ec4 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/data/EventDao.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/data/EventDao.java @@ -13,10 +13,10 @@ import java.util.List; @Dao public interface EventDao { - @Query("SELECT * FROM eventitem") + @Query("SELECT * FROM eventitem ORDER BY datetime ASC") List<Event> getAll(); - @Query("SELECT * FROM eventitem where subjectid = :subjectid") + @Query("SELECT * FROM eventitem where subjectid = :subjectid ORDER BY datetime ASC") List<Event> getAllBySubject(Long subjectid); @Insert diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/outsource/QRCodeUtil.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/outsource/QRCodeUtil.java deleted file mode 100644 index 1b54ef2dd542bee183650aea9fe8924e64570366..0000000000000000000000000000000000000000 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/outsource/QRCodeUtil.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.ireallydontcare.viet.posseidon.outsource; - -import android.graphics.Bitmap; -import android.graphics.Color; - -import com.google.zxing.BarcodeFormat; -import com.google.zxing.MultiFormatWriter; -import com.google.zxing.WriterException; -import com.google.zxing.common.BitMatrix; - -public class QRCodeUtil { - - private QRCodeUtil() {} - - public static Bitmap encodeAsBitmap(String source, int width, int height) { - BitMatrix result; - - try { - result = new MultiFormatWriter().encode(source, BarcodeFormat.QR_CODE, width, height, null); - } catch (IllegalArgumentException | WriterException e) { - // Unsupported format - return null; - } - - final int w = result.getWidth(); - final int h = result.getHeight(); - final int[] pixels = new int[w * h]; - - for (int y = 0; y < h; y++) { - final int offset = y * w; - for (int x = 0; x < w; x++) { - pixels[offset + x] = result.get(x, y) ? Color.BLACK : Color.WHITE; - } - } - - final Bitmap bitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888); - bitmap.setPixels(pixels, 0, width, 0, 0, w, h); - - return bitmap; - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/ireallydontcare/viet/posseidon/qr/ScannedBarcodeActivity.java b/app/src/main/java/com/ireallydontcare/viet/posseidon/qr/ScannedBarcodeActivity.java index 5dea2494cd649f8d68d4884b5d7f12aac927c537..cb3399bc5bc0b2eba54b52dc7dabdf69ab9f4645 100644 --- a/app/src/main/java/com/ireallydontcare/viet/posseidon/qr/ScannedBarcodeActivity.java +++ b/app/src/main/java/com/ireallydontcare/viet/posseidon/qr/ScannedBarcodeActivity.java @@ -129,7 +129,7 @@ public class ScannedBarcodeActivity extends AppCompatActivity { public void run() { txtBarcodeValue.removeCallbacks(null); intentData = barcodes.valueAt(0).displayValue; - txtBarcodeValue.setText(intentData); + txtBarcodeValue.setText("Code found"); } }); diff --git a/app/src/main/res/layout/activity_all_event.xml b/app/src/main/res/layout/activity_all_event.xml new file mode 100644 index 0000000000000000000000000000000000000000..6b502abadc9c420f53dfad4343f25dd6665e9a98 --- /dev/null +++ b/app/src/main/res/layout/activity_all_event.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".AllEventActivity"> + <android.support.v7.widget.RecyclerView + xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:id="@+id/AllEventRecyclerView" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior" + android:paddingRight="30dp" + android:paddingLeft="30dp" + android:paddingTop="20dp" + /> +</android.support.constraint.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_scanned_barcode.xml b/app/src/main/res/layout/activity_scanned_barcode.xml index 5971cb92d8a1f8b706107bfe231a6a506030939a..29df04ecc7d614d43749bfdb44904538e1295835 100644 --- a/app/src/main/res/layout/activity_scanned_barcode.xml +++ b/app/src/main/res/layout/activity_scanned_barcode.xml @@ -17,7 +17,7 @@ android:layout_height="wrap_content" android:layout_alignParentTop="true" - android:text="No Barcode Detected" + android:text="No Code Detected" android:textColor="@android:color/white" android:textSize="20sp" /> diff --git a/app/src/main/res/layout/content_subject.xml b/app/src/main/res/layout/content_subject.xml index 7efff0ae8e48a7b535fc36e37b52feb649c8744f..ddd193ed533d52d4df6d9b8ed98e2130e1230f98 100644 --- a/app/src/main/res/layout/content_subject.xml +++ b/app/src/main/res/layout/content_subject.xml @@ -10,23 +10,62 @@ <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" - android:orientation="vertical"> + android:orientation="vertical" + android:paddingRight="10dp" + android:paddingLeft="10dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:orientation="vertical"> - <TextView + android:orientation="vertical" + android:paddingRight="30dp" + android:paddingLeft="30dp" + android:paddingTop="20dp"> + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="targykod"/> - <TextView - android:layout_width="match_parent" + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Subject Code" + android:paddingRight="40dp"/> + <TextView + android:id="@+id/codeText" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="targykod" /> + </LinearLayout> + <LinearLayout + android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="leiras"/> - <TextView + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Description" + android:paddingRight="40dp"/> + <TextView + android:id="@+id/descriptionText" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="targykod"/> + </LinearLayout> + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="kredit"/> + android:orientation="horizontal"> + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Credit" + android:paddingRight="40dp"/> + <TextView + android:id="@+id/creditText" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="targykod"/> + + </LinearLayout> </LinearLayout> @@ -37,6 +76,9 @@ android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" + android:paddingRight="30dp" + android:paddingLeft="30dp" + android:paddingTop="20dp" /> </LinearLayout> </android.support.constraint.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_new_event_item.xml b/app/src/main/res/layout/dialog_new_event_item.xml index f8d325729836c9107d4ce06de23e4ddb25cd1a04..5eaa637ba72c24ae8e5afa4d9823ed041d0580da 100644 --- a/app/src/main/res/layout/dialog_new_event_item.xml +++ b/app/src/main/res/layout/dialog_new_event_item.xml @@ -19,9 +19,11 @@ <Button android:id="@+id/dateButton" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:text="Not setted"/> <Button android:id="@+id/timeButton" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:text="Not setted"/> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/item_event.xml b/app/src/main/res/layout/item_event.xml index 89a0ed62855632419de1e274ccee4eb5587b8b62..812f99496301a0bdb721c1a79ca0d1085315a6af 100644 --- a/app/src/main/res/layout/item_event.xml +++ b/app/src/main/res/layout/item_event.xml @@ -2,24 +2,24 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="45dp" android:orientation="horizontal" - android:paddingBottom="8dp" android:paddingLeft="16dp" android:paddingRight="16dp" - android:paddingTop="8dp"> + android:paddingTop="12dp"> <TextView - android:layout_marginLeft="8dp" + android:layout_marginRight="10dp" + android:layout_marginLeft="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:id="@+id/subject_name" + android:id="@+id/event_type" android:text="ELETEM LEGFOSABB TARGYA" android:paddingRight="10px"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" - android:id="@+id/subject_code" + android:id="@+id/event_date" android:text="BATMAN NEPTUN KOD"/> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/item_subject.xml b/app/src/main/res/layout/item_subject.xml index 89a0ed62855632419de1e274ccee4eb5587b8b62..f5b3b8d00bf9b2e3a9e6be39377279ca7bbb65cf 100644 --- a/app/src/main/res/layout/item_subject.xml +++ b/app/src/main/res/layout/item_subject.xml @@ -2,7 +2,7 @@ <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="wrap_content" + android:layout_height="40dp" android:orientation="horizontal" android:paddingBottom="8dp" android:paddingLeft="16dp" @@ -10,16 +10,16 @@ android:paddingTop="8dp"> <TextView - android:layout_marginLeft="8dp" + android:layout_marginRight="10dp" + android:layout_marginLeft="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/subject_name" - android:text="ELETEM LEGFOSABB TARGYA" - android:paddingRight="10px"/> + android:text="Egy targynev"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/subject_code" - android:text="BATMAN NEPTUN KOD"/> + android:text="BATMAN"/> </LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml index 39ddc1ec2e846304365ce23de093b9898e30e108..97b4975b2a0f93b7402b8270f06f430291dee689 100644 --- a/app/src/main/res/menu/menu_main.xml +++ b/app/src/main/res/menu/menu_main.xml @@ -2,6 +2,11 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="hu.bme.aut.shoppinglist.MainActivity"> + <item + android:id="@+id/allevent" + android:orderInCategory="100" + android:title="Show all events" + app:showAsAction="never" /> <item android:id="@+id/action_qr" android:orderInCategory="100"