diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
deleted file mode 100644
index d11d79d..0000000
--- a/.idea/assetWizardSettings.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 5d76a5c..381c24d 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
diff --git a/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java b/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java
index 9d5fb4a..add1ffe 100644
--- a/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java
+++ b/app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java
@@ -1,14 +1,58 @@
package com.pkmnapps.activitydo;
+import android.Manifest;
+import android.app.Activity;
+import android.app.AlertDialog;
import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
+import android.os.Environment;
+import android.provider.MediaStore;
+import android.support.annotation.Nullable;
+import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
+import android.support.v4.content.FileProvider;
+import android.support.v7.widget.DefaultItemAnimator;
+import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.RecyclerView;
+import android.support.v7.widget.Toolbar;
+import android.support.v7.widget.helper.ItemTouchHelper;
+import android.util.Log;
import android.view.LayoutInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
+import android.widget.ImageView;
import android.widget.TextView;
+import android.widget.Toast;
+
+import com.bumptech.glide.Glide;
+import com.flipboard.bottomsheet.BottomSheetLayout;
+import com.flipboard.bottomsheet.commons.ImagePickerSheetView;
+import com.flipboard.bottomsheet.commons.MenuSheetView;
+import com.pkmnapps.activitydo.adapters.ActivityContentAdapter;
+import com.pkmnapps.activitydo.custominterfaces.TaskActivityInterface;
+import com.pkmnapps.activitydo.databasehelpers.DBHelperImage;
+import com.pkmnapps.activitydo.databasehelpers.DBHelperList;
+import com.pkmnapps.activitydo.databasehelpers.DBHelperText;
+import com.pkmnapps.activitydo.databasehelpers.DBHelperWidgets;
+import com.pkmnapps.activitydo.dataclasses.ActivityData;
+import com.pkmnapps.activitydo.dataclasses.ImageWidget;
+import com.pkmnapps.activitydo.dataclasses.ListWidget;
+import com.pkmnapps.activitydo.dataclasses.SimpleTextWidget;
+import com.pkmnapps.activitydo.dataclasses.Widget;
+
+import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import static com.pkmnapps.activitydo.MConstants.REQUEST_LOAD_IMAGE;
+import static com.pkmnapps.activitydo.MConstants.REQUEST_STORAGE;
/**
@@ -19,7 +63,19 @@
* Use the {@link QuickNotesFragment#newInstance} factory method to
* create an instance of this fragment.
*/
-public class QuickNotesFragment extends Fragment {
+public class QuickNotesFragment extends Fragment implements TaskActivityInterface{
+ public ActivityData activityData;
+ BottomSheetLayout bottomSheetLayout;
+ View currentSheetView;
+ RecyclerView recyclerView;
+ ActivityContentAdapter activityContentAdapter;
+ List widgets;
+ Uri cameraImageUri = null;
+ String tempUid;
+ DBHelperWidgets dbHelperWidgets;
+
+ View view;
+
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
@@ -65,36 +121,19 @@ public void onCreate(Bundle savedInstanceState) {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_quick_notes, container, false);
+ view = inflater.inflate(R.layout.fragment_quick_notes, container, false);//same layout for both
- TextView takeNote = (TextView)view.findViewById(R.id.note_tvbutton);
- takeNote.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
+ activityData = new ActivityData("0","Quick Notes","#ffffff",false,0);//only id is useful here
- }
- });
- ImageButton more = (ImageButton)view.findViewById(R.id.more_button);
- more.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- }
- });
- ImageButton list = (ImageButton)view.findViewById(R.id.list_button);
- list.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
+ dbHelperWidgets = new DBHelperWidgets(getContext());
+
+ bottomSheetLayout = (BottomSheetLayout)view.findViewById(R.id.bottomsheet);
+ setUpJumpControls();
+ setUpRecyclerView();
+ initialiseRecyclerViewData();
- }
- });
- ImageButton image = (ImageButton)view.findViewById(R.id.image_button);
- image.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- }
- });
// Inflate the layout for this fragment
return view;
}
@@ -137,4 +176,436 @@ public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+ Log.w("n",String.valueOf(requestCode));
+ Log.w("n",String.valueOf(resultCode));
+ if (resultCode == Activity.RESULT_OK) {
+ Uri selectedImage = null;
+ if (requestCode == REQUEST_LOAD_IMAGE && data != null) { //image from gallery
+ selectedImage = data.getData();
+ if (selectedImage != null) {
+ addImageWidget(selectedImage);
+ } else {
+ genericError();
+ }
+ } else if (requestCode == MConstants.REQUEST_IMAGE_CAPTURE) {//image from camera
+ // Do something with imagePath
+ selectedImage = cameraImageUri;
+ if (selectedImage != null) {
+ addImageWidget(selectedImage);
+ } else {
+ genericError();
+ }
+ } else if(requestCode == MConstants.REQUEST_NEW_NOTE && data != null){
+
+ //save note
+ String uid = data.getStringExtra("uid");
+ int index = data.getIntExtra("index",-1000);
+ DBHelperText dbHelperText = new DBHelperText(getContext());
+
+ //update note
+ SimpleTextWidget s;
+ if(index==-1000) {//for new note
+ s = dbHelperText.getTextWidget(uid);
+ if(s!=null)
+ widgets.add(0,new Widget(MConstants.textW,s,uid,0));
+ }
+ else{//for edited note
+ s = dbHelperText.getTextWidget(uid);
+ if(s!=null) {
+ widgets.set(index, new Widget(MConstants.textW, s,uid,index));//replacing widget
+ }else {
+ widgets.remove(index);//delete as it doesnt exist
+ }
+ }
+ //update UI
+ dbHelperWidgets.updateAllWidgetSortOrders(widgets);
+ activityContentAdapter.notifyDataSetChanged();
+
+ } else if(requestCode == MConstants.REQUEST_NEW_LIST && data != null){
+ DBHelperList dbHelperList = new DBHelperList(getContext());
+ String lid = data.getStringExtra("lid");
+ ListWidget listWidget = dbHelperList.getListWidget(lid);
+
+ int index = data.getIntExtra("index",-1000);
+ if(index==-1000) {//new list
+ widgets.add(0,new Widget(MConstants.listW, listWidget,lid,0));
+ }
+ else {//more list
+ widgets.set(index, new Widget(MConstants.listW, listWidget,lid,index));
+ }
+ //update ui
+ dbHelperWidgets.updateAllWidgetSortOrders(widgets);
+ activityContentAdapter.notifyDataSetChanged();
+ }
+ }
+ }
+
+
+ private void setUpJumpControls(){
+ TextView takeNote = (TextView)view.findViewById(R.id.note_tvbutton);
+ takeNote.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ createNote();
+ }
+ });
+ ImageButton more = (ImageButton)view.findViewById(R.id.more_button);
+ more.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ displayWidgetChoser();
+ }
+ });
+ ImageButton list = (ImageButton)view.findViewById(R.id.list_button);
+ list.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ createList();
+ }
+ });
+ ImageButton image = (ImageButton)view.findViewById(R.id.image_button);
+ image.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (checkNeedsPermission()) {
+ requestStoragePermission();
+ } else {
+ createImageSheet();
+ }
+ }
+ });
+ }
+ public void setUpRecyclerView(){
+ recyclerView = (RecyclerView)view.findViewById(R.id.recycler_view);
+ RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false);
+ recyclerView.setLayoutManager(mLayoutManager);
+ recyclerView.setItemAnimator(new DefaultItemAnimator());
+ recyclerView.setNestedScrollingEnabled(true);
+ ItemTouchHelper.Callback itcallback = new ItemTouchHelper.Callback() {//for sorting
+ @Override
+ public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
+ return makeFlag(ItemTouchHelper.ACTION_STATE_DRAG,
+ ItemTouchHelper.DOWN | ItemTouchHelper.UP);
+ }
+
+ @Override
+ public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
+ // get the viewHolder's and target's positions in your adapter data, swap them
+ Collections.swap(widgets, viewHolder.getAdapterPosition(), target.getAdapterPosition());
+// widgets.get(viewHolder.getAdapterPosition()).setSortOrder(target.getAdapterPosition());
+// widgets.get(target.getAdapterPosition()).setSortOrder(viewHolder.getAdapterPosition());
+ //s
+ // and notify the adapter that its dataset has changed
+ activityContentAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
+ return true;
+ }
+
+ @Override
+ public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
+
+ }
+
+ @Override
+ public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, int fromPos, RecyclerView.ViewHolder target, int toPos, int x, int y) {
+ super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y);
+ dbHelperWidgets.updateAllWidgetSortOrders(widgets);
+ }
+ };
+ ItemTouchHelper.Callback itcallbackswipe = new ItemTouchHelper.Callback() {
+ @Override
+ public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
+ return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE,ItemTouchHelper.RIGHT);
+
+ }
+
+ @Override
+ public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
+ return false;
+ }
+
+ @Override
+ public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
+ deleteWidget(widgets.get(viewHolder.getAdapterPosition()));
+ }
+ };
+ ItemTouchHelper itemTouchHelperSwipe = new ItemTouchHelper(itcallbackswipe);
+ ItemTouchHelper itemTouchHelper = new ItemTouchHelper(itcallback);
+ itemTouchHelper.attachToRecyclerView(recyclerView);
+ itemTouchHelperSwipe.attachToRecyclerView(recyclerView);
+
+ widgets = new ArrayList<>();
+ activityContentAdapter = new ActivityContentAdapter(widgets,QuickNotesFragment.this);
+
+ recyclerView.setAdapter(activityContentAdapter);
+ }
+
+ public void initialiseRecyclerViewData(){
+
+ DBHelperWidgets dbHelperWidgets = new DBHelperWidgets(getContext());
+
+ //add all simpleTextWidgets
+ DBHelperText dbHelperText = new DBHelperText(getContext());
+ for (SimpleTextWidget o :dbHelperText.getAllTextsAsList(activityData.getId())) {
+ if(o!=null) {
+ widgets.add(new Widget(MConstants.textW,o,o.getUid(),dbHelperWidgets.getSortValue(o.getUid())));
+ }
+ }
+ //add all lists
+ DBHelperList dbHelperList = new DBHelperList(getContext());
+ for(ListWidget o:dbHelperList.getAllListAsList(activityData.getId())){
+ if(o!=null) {
+ widgets.add(new Widget(MConstants.listW, o,o.getUid(),dbHelperWidgets.getSortValue(o.getUid())));
+ }
+ }
+
+ //add all image widgets
+ DBHelperImage dbHelperImage = new DBHelperImage(getContext());
+ for(ImageWidget o:dbHelperImage.getAllImagesAsList(activityData.getId())){
+ if(o!=null)
+ widgets.add(new Widget(MConstants.imageW,o,o.getUid(),dbHelperWidgets.getSortValue(o.getUid())));
+ }
+ sortWidgetList();
+ //sort the list
+ activityContentAdapter.notifyDataSetChanged();
+ }
+ public void sortWidgetList(){
+ Boolean swap;
+ for(int i = 0;iwidgets.get(j+1).getSortOrder()){
+ Widget temp = widgets.get(j);
+ widgets.set(j,widgets.get(j+1));
+ widgets.set(j+1,temp);
+ swap = true;
+ }
+ }
+ if(!swap)
+ break;
+ }
+ }
+ public void displayWidgetChoser(){
+ //show bottomsheet
+ MenuSheetView menuSheetView =
+ new MenuSheetView(getContext(), MenuSheetView.MenuType.LIST, "Chose widget", new MenuSheetView.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ if (bottomSheetLayout.isSheetShowing()) {
+ bottomSheetLayout.dismissSheet();
+ }
+ switch (item.getItemId()){
+ case R.id.item_note:
+ createNote();
+ return true;
+ case R.id.item_list:
+ createList();
+ return true;
+ case R.id.item_image:
+ if (checkNeedsPermission()) {
+ requestStoragePermission();
+ } else {
+ createImageSheet();
+ }
+ return true;
+ }
+
+ return true;
+ }
+ });
+ menuSheetView.inflateMenu(R.menu.widget_menu);
+ bottomSheetLayout.showWithSheetView(menuSheetView);
+ }
+ public void createNote() {
+ Intent intent = new Intent(getContext(),NoteActivity.class);
+ String uid = String.valueOf(System.currentTimeMillis());
+ intent.putExtra("uid",uid);
+ new DBHelperText(getContext()).insertText(uid,activityData.getId(),"","");
+ startActivityForResult(intent,MConstants.REQUEST_NEW_NOTE);
+ }
+ public void createList() {
+ Intent intent = new Intent(getContext(),ListActivity.class);
+ String lid = String.valueOf(System.currentTimeMillis());
+ intent.putExtra("lid",lid);
+ intent.putExtra("aid",activityData.getId());
+ //create a list in database
+ new DBHelperList(getContext()).insertList(lid,activityData.getId(),"");
+ startActivityForResult(intent,MConstants.REQUEST_NEW_LIST);
+ }
+ public void createImageSheet() {
+ ImagePickerSheetView sheetView = new ImagePickerSheetView.Builder(getContext())
+ .setMaxItems(30)
+ .setShowCameraOption(createCameraIntent() != null)
+ .setShowPickerOption(createPickIntent() != null)
+ .setImageProvider(new ImagePickerSheetView.ImageProvider() {
+ @Override
+ public void onProvideImage(ImageView imageView, Uri imageUri, int size) {//feeds image to sheet views
+ Glide.with(getContext())
+ .load(imageUri)
+ .into(imageView);
+ }
+ })
+ .setOnTileSelectedListener(new ImagePickerSheetView.OnTileSelectedListener() {
+ @Override
+ public void onTileSelected(ImagePickerSheetView.ImagePickerTile selectedTile) {
+ bottomSheetLayout.dismissSheet();
+ tempUid = String.valueOf(System.currentTimeMillis());//do not remove this
+ if (selectedTile.isCameraTile()) {
+ dispatchTakePictureIntent();
+ } else if (selectedTile.isPickerTile()) {
+ startActivityForResult(createPickIntent(), REQUEST_LOAD_IMAGE);
+ } else if (selectedTile.isImageTile()) {
+ if(selectedTile.getImageUri()!=null)
+ addImageWidget(selectedTile.getImageUri());
+ } else {
+ genericError();
+ }
+ }
+ })
+ .setTitle("Choose an image...")
+ .create();
+
+ bottomSheetLayout.showWithSheetView(sheetView);
+ }
+
+ private boolean checkNeedsPermission() {
+ return ActivityCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED;
+ }
+
+ private void requestStoragePermission() {
+ if (ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
+ ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_STORAGE);
+ } else {
+ // Eh, prompt anyway
+ ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_STORAGE);
+ }
+ }
+
+ private void addImageWidget(Uri selectedImageUri) {
+ //save image uri to image database
+ ImageWidget imageWidget = new ImageWidget(tempUid,activityData.getId(),selectedImageUri.toString());
+ DBHelperImage dbHelperImage = new DBHelperImage(getContext());
+ dbHelperImage.insertImage(imageWidget);
+
+ //show in widgets
+ widgets.add(0,new Widget(MConstants.imageW,imageWidget,tempUid,0));
+ //update UI
+ dbHelperWidgets.updateAllWidgetSortOrders(widgets);
+ activityContentAdapter.notifyDataSetChanged();
+ }
+
+ @Nullable
+ private Intent createPickIntent() {
+ Intent picImageIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
+ if (picImageIntent.resolveActivity(getActivity().getPackageManager()) != null) {
+ return picImageIntent;
+ } else {
+ return null;
+ }
+ }
+ @Nullable
+ private Intent createCameraIntent() {
+ Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
+ if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
+ return takePictureIntent;
+ } else {
+ return null;
+ }
+ }
+
+ private void dispatchTakePictureIntent() {
+ Intent takePictureIntent = createCameraIntent();
+ // Ensure that there's a camera activity to handle the intent
+ if (takePictureIntent != null) {
+ try {
+ File imageFile = createImageFile();
+ // Save a file: path for use with ACTION_VIEW intents
+ cameraImageUri = FileProvider.getUriForFile(getContext(),"com.pkmnapps.activitydo.fileprovider",imageFile);
+
+ takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, cameraImageUri);
+ startActivityForResult(takePictureIntent, MConstants.REQUEST_IMAGE_CAPTURE);
+ } catch (Exception e) {
+ // Error occurred while creating the File
+ genericError("Could not create imageFile for camera");
+ }
+ }
+ }
+
+ private void genericError() {
+ genericError(null);
+ }
+
+ private void genericError(String message) {
+ Toast.makeText(getContext(), message == null ? "Something went wrong." : message, Toast.LENGTH_SHORT).show();
+ }
+
+ private File createImageFile() {
+ // Create an image file name
+ String imageFileName = tempUid + ".jpg";
+ return new File(getContext().getExternalFilesDir(Environment.DIRECTORY_PICTURES),imageFileName);
+ }
+
+ @Override
+ public void editWidget(final Widget widget) {
+
+ switch (widget.getType()) {
+ case MConstants.textW:
+ final SimpleTextWidget simpleTextWidget = (SimpleTextWidget)widget.getObject();
+ Intent intent = new Intent(getContext(),NoteActivity.class);
+ intent.putExtra("uid",simpleTextWidget.getUid());
+ intent.putExtra("head",simpleTextWidget.getHead());
+ intent.putExtra("body",simpleTextWidget.getBody());
+ intent.putExtra("index",widgets.indexOf(widget));
+ startActivityForResult(intent,MConstants.REQUEST_NEW_NOTE);
+ break;
+ case MConstants.listW:
+ final ListWidget listWidget = (ListWidget) widget.getObject();
+ Intent intent2 = new Intent(getContext(),ListActivity.class);
+ intent2.putExtra("lid",listWidget.getUid());
+ intent2.putExtra("head",listWidget.getHead());
+ intent2.putExtra("index",widgets.indexOf(widget));
+ intent2.putExtra("more","1");
+ startActivityForResult(intent2,MConstants.REQUEST_NEW_LIST);
+ break;
+
+ }
+ }
+
+ public void deleteWidget(final Widget widget){
+ //show dialog
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle("Delete ?");
+ builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ //delete from list
+ widgets.remove(widget);
+ activityContentAdapter.notifyDataSetChanged();
+ dbHelperWidgets.updateAllWidgetSortOrders(widgets);
+ //delete rom database
+ switch (widget.getType()){
+ case MConstants.textW:
+ new DBHelperText(getContext()).deleteText(((SimpleTextWidget)widget.getObject()).getUid());
+ break;
+ case MConstants.listW:
+ new DBHelperList(getContext()).deleteList(((ListWidget)widget.getObject()).getUid());
+ break;
+ case MConstants.imageW:
+ new DBHelperImage(getContext()).deleteImage(((ImageWidget)widget.getObject()).getUid());
+ break;
+ case MConstants.audioW:
+ break;
+ }
+ }
+ });
+ builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
+ @Override
+ public void onCancel(DialogInterface dialog) {
+ activityContentAdapter.notifyDataSetChanged();
+ }
+ });
+ builder.show();
+ }
}
diff --git a/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java b/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java
index 00af30c..f920fb2 100644
--- a/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java
+++ b/app/src/main/java/com/pkmnapps/activitydo/adapters/ActivityAdapter.java
@@ -2,17 +2,19 @@
import android.content.Intent;
+import android.content.res.ColorStateList;
import android.graphics.Color;
+import android.graphics.PorterDuff;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
-import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.ImageButton;
+import android.widget.ImageView;
import android.widget.PopupMenu;
import android.widget.TextView;
@@ -32,13 +34,13 @@ public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public CheckBox pinned;
public ImageButton more;
- public View v;
+ public ImageView label;
public MyViewHolder(View view) {
super(view);
name = (TextView)view.findViewById(R.id.nameTextView);
pinned = (CheckBox)view.findViewById(R.id.pinCheckBox);
- v = (View)view.findViewById(R.id.colorView);
+ label = (ImageView) view.findViewById(R.id.colorView);
more = (ImageButton)view.findViewById(R.id.more_button);
}
}
@@ -62,7 +64,7 @@ public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) {
final ActivityData activityData = activityDataList.get(position);
holder.pinned.setChecked(activityData.getPinned());
holder.name.setText(activityData.getName());
- holder.v.setBackgroundColor(Color.parseColor(activityData.getColor()));
+ holder.label.setColorFilter(Color.parseColor(activityData.getColor()), PorterDuff.Mode.SRC_ATOP);
holder.pinned.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
diff --git a/app/src/main/res/drawable/ic_star_black_24dp.xml b/app/src/main/res/drawable/ic_star_black_24dp.xml
index 5bcb347..be98780 100644
--- a/app/src/main/res/drawable/ic_star_black_24dp.xml
+++ b/app/src/main/res/drawable/ic_star_black_24dp.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
diff --git a/app/src/main/res/drawable/ic_star_border_black_24dp.xml b/app/src/main/res/drawable/ic_star_border_black_24dp.xml
index 9dbef57..0c4ae7a 100644
--- a/app/src/main/res/drawable/ic_star_border_black_24dp.xml
+++ b/app/src/main/res/drawable/ic_star_border_black_24dp.xml
@@ -4,6 +4,6 @@
android:viewportWidth="24.0"
android:viewportHeight="24.0">
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
index 4a374bf..4cb1cf2 100644
--- a/app/src/main/res/layout/content_main.xml
+++ b/app/src/main/res/layout/content_main.xml
@@ -5,14 +5,13 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
- app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
tools:context=".MainActivity"
tools:showIn="@layout/app_bar_main">
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_task.xml b/app/src/main/res/layout/content_task.xml
index 4426b92..95b215b 100644
--- a/app/src/main/res/layout/content_task.xml
+++ b/app/src/main/res/layout/content_task.xml
@@ -23,7 +23,7 @@
android:layout_weight="1"
android:layout_gravity="bottom"
android:padding="10dp"
- android:scrollbars="vertical" />
+ android:scrollbars="none" />
-
-
-
+ android:layout_height="match_parent">
-
-
+
+
-
-
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ android:padding="10dp"
+ android:scrollbars="none" />
+
+
+
+
+
+
+
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/recycler_activity_layout.xml b/app/src/main/res/layout/recycler_activity_layout.xml
index f53102e..2aac366 100644
--- a/app/src/main/res/layout/recycler_activity_layout.xml
+++ b/app/src/main/res/layout/recycler_activity_layout.xml
@@ -11,45 +11,47 @@
android:foreground="?android:attr/selectableItemBackground"
card_view:cardCornerRadius="4dp">
-
-
-
+
+
+ android:layout_height="wrap_content"
+ android:maxLines="2"
+ android:ellipsize="end"
+ android:text="name"
+ android:textColor="@color/colorGrey"
+ android:textSize="30sp" />
+
-
-
+