diff --git a/app/build.gradle b/app/build.gradle index f7c9d6b..b8a8cf2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,7 +10,7 @@ android { } */ defaultConfig { - applicationId "hikapro.com.backpack" + applicationId "com.hikapro.backpack" minSdkVersion 17 targetSdkVersion 23 versionCode 1 @@ -28,12 +28,12 @@ dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' + compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:retrofit:2.0.1' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.squareup.okhttp:logging-interceptor:2.7.0' - compile 'com.android.support:support-v4:23.3.0' compile 'com.android.support:appcompat-v7:23.3.0' compile 'com.android.support:design:23.3.0' diff --git a/app/src/main/java/hikapro/com/backpack/model/BagModel.java b/app/src/main/java/hikapro/com/backpack/model/BagModel.java index e9ef531..3f07364 100644 --- a/app/src/main/java/hikapro/com/backpack/model/BagModel.java +++ b/app/src/main/java/hikapro/com/backpack/model/BagModel.java @@ -1,7 +1,108 @@ package hikapro.com.backpack.model; +import android.os.Message; + +import hikapro.com.backpack.model.entities.Category; +import hikapro.com.backpack.model.entities.Item; +import hikapro.com.backpack.presenter.Presenter; + /** * Created by tariel on 12/05/16. */ -public class BagModel { +public class BagModel implements Model.Bag { + + @Override + public int insertItem(Item item) { + return 0; + } + + @Override + public boolean deleteItem(Item item) { + return false; + } + + @Override + public void filter(String query) { + + } + + @Override + public int getHeaderId(int position) { + return 0; + } + + @Override + public int getItemId(int position) { + return 0; + } + + @Override + public void clear() { + + } + + @Override + public boolean isPendingRemoval(Item item) { + return false; + } + + @Override + public void pendingRemove(Item item) { + + } + + @Override + public void pendingRemoveCancel(Item item) { + + } + + @Override + public int getItemsCount() { + return 0; + } + + @Override + public Item findItem(int id) { + return null; + } + + @Override + public Item getItemByPosition(int position) { + return null; + } + + @Override + public Category getCategoryByPosition(int position) { + return null; + } + + @Override + public void setPresenter(Presenter.ItemList presenter) { + + } + + @Override + public Presenter.ItemList getPresenter() { + return null; + } + + @Override + public void onDestroy(boolean isConfigurationChanging) { + + } + + @Override + public void executeQuery() { + + } + + @Override + public void notifyDataSetChanged() { + + } + + @Override + public void onEvent(Message event) { + + } } diff --git a/app/src/main/java/hikapro/com/backpack/model/Model.java b/app/src/main/java/hikapro/com/backpack/model/Model.java index 9347c1c..8cb9240 100644 --- a/app/src/main/java/hikapro/com/backpack/model/Model.java +++ b/app/src/main/java/hikapro/com/backpack/model/Model.java @@ -58,6 +58,9 @@ public interface Model { Bitmap getPicture(); void setPresenter(Presenter.ItemDetail presenter); Presenter.ItemDetail getPresenter(); + } + + interface Bag extends Item { } diff --git a/app/src/main/java/hikapro/com/backpack/presenter/ItemListPresenter.java b/app/src/main/java/hikapro/com/backpack/presenter/ItemListPresenter.java index cc599e5..84beb58 100644 --- a/app/src/main/java/hikapro/com/backpack/presenter/ItemListPresenter.java +++ b/app/src/main/java/hikapro/com/backpack/presenter/ItemListPresenter.java @@ -1,5 +1,6 @@ package hikapro.com.backpack.presenter; +import android.app.Fragment; import android.content.Context; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; @@ -7,6 +8,7 @@ import android.support.v7.widget.RecyclerView; import android.support.v7.widget.helper.ItemTouchHelper; import android.view.LayoutInflater; import android.view.ViewGroup; +import android.widget.LinearLayout; import android.widget.Toast; import java.lang.ref.WeakReference; @@ -97,11 +99,19 @@ public class ItemListPresenter implements Presenter.ItemList { @Override public void clickItem(int itemId) { + /* Item item = model.findItem(itemId); if (item != null) getView().showItemDetail(item); else showMessage(String.format("Item with Id %d is not found.", itemId)); + */ + Fragment fragment = (Fragment)getView(); + LinearLayout ll = (LinearLayout)fragment.getView().findViewById(R.id.item_list_footer); + ll.setVisibility(android.view.View.VISIBLE); + /* + ll.setAlpha(0.0f); + ll.animate().translationY(ll.getHeight()).alpha(1.0f);*/ } // process <-- diff --git a/app/src/main/java/hikapro/com/backpack/presenter/Presenter.java b/app/src/main/java/hikapro/com/backpack/presenter/Presenter.java index c989f58..95dc01c 100644 --- a/app/src/main/java/hikapro/com/backpack/presenter/Presenter.java +++ b/app/src/main/java/hikapro/com/backpack/presenter/Presenter.java @@ -68,6 +68,9 @@ public interface Presenter { void onSaveInstanceState(Bundle outState); Item getCurrentItem(); void displayPicture(Bitmap bitmap); + } + + interface Bag extends ItemList { } diff --git a/app/src/main/java/hikapro/com/backpack/view/View.java b/app/src/main/java/hikapro/com/backpack/view/View.java index 45148c1..f5083ab 100644 --- a/app/src/main/java/hikapro/com/backpack/view/View.java +++ b/app/src/main/java/hikapro/com/backpack/view/View.java @@ -33,6 +33,10 @@ public interface View { void setPresenter(Presenter.ItemDetail presenter); Item getItem(); } + interface Bag extends Base { + void setPresenter(Presenter.Bag presenter); + + } interface ActivityCallback { void startSetListFragment(); void startItemListFragment(Set set); diff --git a/app/src/main/java/hikapro/com/backpack/view/fragments/BagFragment.java b/app/src/main/java/hikapro/com/backpack/view/fragments/BagFragment.java index 0f493b4..1734716 100644 --- a/app/src/main/java/hikapro/com/backpack/view/fragments/BagFragment.java +++ b/app/src/main/java/hikapro/com/backpack/view/fragments/BagFragment.java @@ -1,7 +1,27 @@ package hikapro.com.backpack.view.fragments; +import android.os.Bundle; + +import hikapro.com.backpack.model.entities.Set; + /** * Created by tariel on 12/05/16. */ -public class BagFragment { +public class BagFragment extends ItemListFragment { + + public BagFragment() { + } + + private static BagFragment construct() { + return new BagFragment(); + } + + public static BagFragment newFromSet(Set set) { + BagFragment ret = BagFragment.construct(); + Bundle args = new Bundle(); + args.putSerializable(BUNDLE_SET_KEY, set); + ret.setArguments(args); + return ret; + } + } diff --git a/app/src/main/java/hikapro/com/backpack/view/fragments/ItemListFragment.java b/app/src/main/java/hikapro/com/backpack/view/fragments/ItemListFragment.java index 8a17e18..e9378a4 100644 --- a/app/src/main/java/hikapro/com/backpack/view/fragments/ItemListFragment.java +++ b/app/src/main/java/hikapro/com/backpack/view/fragments/ItemListFragment.java @@ -25,7 +25,7 @@ import hikapro.com.backpack.presenter.Presenter; public class ItemListFragment extends Fragment implements hikapro.com.backpack.view.View.ItemList, SearchView.OnQueryTextListener { - private static final String BUNDLE_SET_KEY = "BUNDLE_SET_KEY"; + protected static final String BUNDLE_SET_KEY = "BUNDLE_SET_KEY"; private hikapro.com.backpack.view.View.ActivityCallback activityCallback; private Presenter.ItemList presenter; @@ -33,7 +33,7 @@ public class ItemListFragment extends Fragment implements hikapro.com.backpack.v // Required empty public constructor } - protected static ItemListFragment construct() { + private static ItemListFragment construct() { return new ItemListFragment(); } diff --git a/app/src/main/res/layout/footer.xml b/app/src/main/res/layout/footer.xml index 3509b84..d9885a0 100644 --- a/app/src/main/res/layout/footer.xml +++ b/app/src/main/res/layout/footer.xml @@ -1,6 +1,26 @@ + + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" + android:animateLayoutChanges="true" + android:id="@+id/item_list_footer" + android:background="#33D3D3D3" + android:layout_gravity="bottom" + > + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_item_list.xml b/app/src/main/res/layout/fragment_item_list.xml index ca43fc4..8576df8 100644 --- a/app/src/main/res/layout/fragment_item_list.xml +++ b/app/src/main/res/layout/fragment_item_list.xml @@ -1,14 +1,45 @@ - + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:animateLayoutChanges="true"> - + + + + + - + android:orientation="vertical" + android:id="@+id/item_list_footer" + android:layout_gravity="bottom" + android:visibility="gone"> + + + +