From 736d8185b218f21d36f480d5c5ab4f60cc4d7568 Mon Sep 17 00:00:00 2001 From: bgeVam Date: Wed, 31 May 2017 22:05:05 +0200 Subject: [PATCH] Choose session in gallery * closes #55 --- .../fragments/GalleryFragment.java | 33 ++++++++++++++--- .../wifisdcryptolocker/model/Session.java | 5 +++ app/src/main/res/layout/fragment_gallery.xml | 37 ++++++++++++------- 3 files changed, 55 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/fragments/GalleryFragment.java b/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/fragments/GalleryFragment.java index 75e1627..1ff3616 100644 --- a/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/fragments/GalleryFragment.java +++ b/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/fragments/GalleryFragment.java @@ -6,20 +6,28 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.AutoCompleteTextView; import android.widget.GridView; import io.github.projektmedinf.wifisdcryptolocker.R; import io.github.projektmedinf.wifisdcryptolocker.activities.ImageDetailsActivity; import io.github.projektmedinf.wifisdcryptolocker.model.Image; +import io.github.projektmedinf.wifisdcryptolocker.model.Session; +import io.github.projektmedinf.wifisdcryptolocker.service.impl.SessionServiceImpl; import io.github.projektmedinf.wifisdcryptolocker.utils.GridViewAdapter; import java.util.ArrayList; public class GalleryFragment extends android.support.v4.app.Fragment { + //Todo Remove + public static int imageStartId = 1; + @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -28,12 +36,25 @@ public void onCreate(Bundle savedInstanceState) { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_gallery, container, false); - GridView gridView = (GridView) view.findViewById(R.id.gridView); - GridViewAdapter gridAdapter = new GridViewAdapter(getActivity(), R.layout.grid_item_layout, getData()); - gridView.setAdapter(gridAdapter); + View view = inflater.inflate(R.layout.fragment_gallery, container, false); + + final AutoCompleteTextView autocompleteView = (AutoCompleteTextView) view.findViewById(R.id.autocompleteView); + final GridView imageGridView = (GridView) view.findViewById(R.id.gridView); + + ArrayAdapter sessionListAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_dropdown_item_1line, new SessionServiceImpl(getActivity()).getAllSessions()); + autocompleteView.setAdapter(sessionListAdapter); + autocompleteView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { + Session session = (Session) arg0.getItemAtPosition(arg2); + Log.d("selected", session.toString()); + imageStartId = (int) (session.getId() % 3); + //Todo replace getData() with getImagesBySession + imageGridView.setAdapter(new GridViewAdapter(getActivity(), R.layout.grid_item_layout, getData())); + } + }); - gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + imageGridView.setAdapter(new GridViewAdapter(getActivity(), R.layout.grid_item_layout, getData())); + imageGridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Image image = (Image) parent.getItemAtPosition(position); Intent intent = new Intent(getActivity(), ImageDetailsActivity.class); @@ -58,7 +79,7 @@ public void onDetach() { private ArrayList getData() { final ArrayList imageItems = new ArrayList<>(); TypedArray imgs = getResources().obtainTypedArray(R.array.image_ids); - for (int i = 0; i < imgs.length(); i++) { + for (int i = imageStartId; i < imgs.length(); i++) { Bitmap bitmap = BitmapFactory.decodeResource(getResources(), imgs.getResourceId(i, -1)); Image image = new Image(0l, null, null, 0, null, null); image.setTitle(Integer.toString(i)); diff --git a/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/model/Session.java b/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/model/Session.java index dd8a1f7..3037c6f 100644 --- a/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/model/Session.java +++ b/app/src/main/java/io/github/projektmedinf/wifisdcryptolocker/model/Session.java @@ -60,4 +60,9 @@ public byte[] getIv() { public void setIv(byte[] iv) { this.iv = iv; } + + @Override + public String toString() { + return "#" + getId() + "/" + getDate() + "/" + getLocation(); + } } diff --git a/app/src/main/res/layout/fragment_gallery.xml b/app/src/main/res/layout/fragment_gallery.xml index 0e620d0..c7bc613 100644 --- a/app/src/main/res/layout/fragment_gallery.xml +++ b/app/src/main/res/layout/fragment_gallery.xml @@ -4,18 +4,27 @@ android:layout_height="match_parent" tools:context="io.github.projektmedinf.wifisdcryptolocker.fragments.GalleryFragment"> - - + + + +