Skip to content

Commit

Permalink
Added 2 tabs to home, QuickNotes(UI only rn)
Browse files Browse the repository at this point in the history
and Activities(same as home frag before)
Added jump controls in task activity
and quicknotes fragment
  • Loading branch information
mannprerak2 committed Jun 1, 2018
1 parent a4a4abe commit 2501563
Show file tree
Hide file tree
Showing 14 changed files with 479 additions and 51 deletions.
Binary file modified .idea/caches/build_file_checksums.ser
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolde
ItemTouchHelper.Callback itcallbackswipe = new ItemTouchHelper.Callback() {
@Override
public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE,ItemTouchHelper.LEFT|ItemTouchHelper.RIGHT);
return makeFlag(ItemTouchHelper.ACTION_STATE_SWIPE,ItemTouchHelper.RIGHT);

}

Expand Down
13 changes: 5 additions & 8 deletions app/src/main/java/com/pkmnapps/activitydo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@

public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener,
HomeFragment.OnFragmentInteractionListener
TabFragment.OnFragmentInteractionListener,
HomeFragment.OnFragmentInteractionListener,
QuickNotesFragment.OnFragmentInteractionListener
{
boolean home = true;
NavigationView navigationView;
Expand All @@ -51,7 +53,7 @@ protected void onCreate(Bundle savedInstanceState) {
//Set home fragment to load first here
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_parent_main,new HomeFragment(),"back").commit();
fragmentTransaction.replace(R.id.fragment_parent_main,new TabFragment(),"back").commit();

}

Expand Down Expand Up @@ -112,12 +114,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
Expand All @@ -133,7 +130,7 @@ public boolean onNavigationItemSelected(MenuItem item) {
home = false;
if (id == R.id.nav_home) {
home = true;
fragmentTransaction.replace(R.id.fragment_parent_main,new HomeFragment()).commit();
fragmentTransaction.replace(R.id.fragment_parent_main,new TabFragment()).commit();
}
else if(id == R.id.nav_share){

Expand Down
140 changes: 140 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/QuickNotesFragment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
package com.pkmnapps.activitydo;

import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.TextView;


/**
* A simple {@link Fragment} subclass.
* Activities that contain this fragment must implement the
* {@link QuickNotesFragment.OnFragmentInteractionListener} interface
* to handle interaction events.
* Use the {@link QuickNotesFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class QuickNotesFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";

// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;

private OnFragmentInteractionListener mListener;

public QuickNotesFragment() {
// Required empty public constructor
}

/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment QuickNotesFragment.
*/
// TODO: Rename and change types and number of parameters
public static QuickNotesFragment newInstance(String param1, String param2) {
QuickNotesFragment fragment = new QuickNotesFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_quick_notes, container, false);

TextView takeNote = (TextView)view.findViewById(R.id.note_tvbutton);
takeNote.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

}
});
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) {

}
});
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;
}

// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri) {
if (mListener != null) {
mListener.onFragmentInteraction(uri);
}
}

@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}

@Override
public void onDetach() {
super.onDetach();
mListener = null;
}

/**
* This interface must be implemented by activities that contain this
* fragment to allow an interaction in this fragment to be communicated
* to the activity and potentially other fragments contained in that
* activity.
* <p>
* See the Android Training lesson <a href=
* "http://developer.android.com/training/basics/fragments/communicating.html"
* >Communicating with Other Fragments</a> for more information.
*/
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
}
159 changes: 159 additions & 0 deletions app/src/main/java/com/pkmnapps/activitydo/TabFragment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
package com.pkmnapps.activitydo;

import android.content.Context;
import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;

import java.util.ArrayList;
import java.util.List;


/**
* A simple {@link Fragment} subclass.
* Activities that contain this fragment must implement the
* {@link TabFragment.OnFragmentInteractionListener} interface
* to handle interaction events.
* Use the {@link TabFragment#newInstance} factory method to
* create an instance of this fragment.
*/
public class TabFragment extends Fragment {
// TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";

// TODO: Rename and change types of parameters
private String mParam1;
private String mParam2;

private OnFragmentInteractionListener mListener;

public TabFragment() {
// Required empty public constructor
}

/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
*
* @param param1 Parameter 1.
* @param param2 Parameter 2.
* @return A new instance of fragment TabFragment.
*/
// TODO: Rename and change types and number of parameters
public static TabFragment newInstance(String param1, String param2) {
TabFragment fragment = new TabFragment();
Bundle args = new Bundle();
args.putString(ARG_PARAM1, param1);
args.putString(ARG_PARAM2, param2);
fragment.setArguments(args);
return fragment;
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
mParam1 = getArguments().getString(ARG_PARAM1);
mParam2 = getArguments().getString(ARG_PARAM2);
}
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_tab, container, false);
ViewPager viewPager = (ViewPager) view.findViewById(R.id.view_pager);
setupViewPager(viewPager);
// Set Tabs inside Toolbar
TabLayout tabs = (TabLayout) view.findViewById(R.id.tabLayout);
tabs.setupWithViewPager(viewPager);
// Inflate the layout for this fragment
return view;
}

private void setupViewPager(ViewPager viewPager) {
Adapter adapter = new Adapter(getChildFragmentManager());
adapter.addFragment(new QuickNotesFragment(), "Quick Notes");
adapter.addFragment(new HomeFragment(), "Activities");

viewPager.setAdapter(adapter);
}

// TODO: Rename method, update argument and hook method into UI event
public void onButtonPressed(Uri uri) {
if (mListener != null) {
mListener.onFragmentInteraction(uri);
}
}

@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context;
} else {
throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener");
}
}

@Override
public void onDetach() {
super.onDetach();
mListener = null;
}

/**
* This interface must be implemented by activities that contain this
* fragment to allow an interaction in this fragment to be communicated
* to the activity and potentially other fragments contained in that
* activity.
* <p>
* See the Android Training lesson <a href=
* "http://developer.android.com/training/basics/fragments/communicating.html"
* >Communicating with Other Fragments</a> for more information.
*/
public interface OnFragmentInteractionListener {
// TODO: Update argument type and name
void onFragmentInteraction(Uri uri);
}
static class Adapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();

public Adapter(FragmentManager manager) {
super(manager);
}

@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}

@Override
public int getCount() {
return mFragmentList.size();
}

public void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}

@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitleList.get(position);
}
}

}
Loading

0 comments on commit 2501563

Please sign in to comment.