Skip to content

Commit

Permalink
Monthly Calendar moved to Navigation Drawer
Browse files Browse the repository at this point in the history
  • Loading branch information
foram-patel-0201 committed Oct 16, 2021
1 parent 82da9db commit 17da59c
Show file tree
Hide file tree
Showing 7 changed files with 237 additions and 205 deletions.
1 change: 1 addition & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.US_2_0"
tools:replace="android:allowBackup,android:theme,android:icon,android:roundIcon">
<activity
android:name=".MonthViewActivity"
android:exported="true" />
<activity
android:name=".WeekViewActivity"
android:exported="true" />
Expand Down
61 changes: 1 addition & 60 deletions app/src/main/java/com/example/us_2_0/LandingPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,13 @@ public class LandingPage extends AppCompatActivity {

private ActionBarDrawerToggle actionBarDrawerToggle;

private TextView monthYearText;
private RecyclerView calendarRecyclerView;

@RequiresApi(api = Build.VERSION_CODES.O)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_landing_page);

initWidgets();
CalendarUtils.selectedDate = LocalDate.now();
setMonthView();



Expand Down Expand Up @@ -98,7 +93,7 @@ private void UserItemSelected(MenuItem item) {
break;

case R.id.This_Month:
// onclick This_Month
startActivity(new Intent(LandingPage.this,MonthViewActivity.class));
break;

case R.id.privacy:
Expand Down Expand Up @@ -133,60 +128,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
menuInflater.inflate(R.menu.action_bar_menu,menu);
return super.onCreateOptionsMenu(menu);
}
private void initWidgets()
{
calendarRecyclerView = findViewById(R.id.calendarRecyclerView);
monthYearText = findViewById(R.id.monthYearTV);
}

@RequiresApi(api = Build.VERSION_CODES.O)
private void setMonthView()
{
monthYearText.setText(monthYearFromDate(CalendarUtils.selectedDate));
ArrayList<LocalDate> daysInMonth = daysInMonthArray(CalendarUtils.selectedDate);

CalendarAdapter calendarAdapter = new CalendarAdapter(daysInMonth, this::onItemClick);
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(), 7);
calendarRecyclerView.setLayoutManager(layoutManager);
calendarRecyclerView.setAdapter(calendarAdapter);
}

@RequiresApi(api = Build.VERSION_CODES.O)
private String monthYearFromDate(LocalDate date)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM yyyy");
return date.format(formatter);
}

@RequiresApi(api = Build.VERSION_CODES.O)
public void previousMonthAction(View view)
{
CalendarUtils.selectedDate = CalendarUtils.selectedDate.minusMonths(1);
setMonthView();
}

@RequiresApi(api = Build.VERSION_CODES.O)
public void nextMonthAction(View view)
{
CalendarUtils.selectedDate = CalendarUtils.selectedDate.plusMonths(1);
setMonthView();
}

@RequiresApi(api = Build.VERSION_CODES.O)
public void onItemClick(int position, LocalDate date)
{
if(date != null)
{
CalendarUtils.selectedDate = date;
setMonthView();
}
}


public void weeklyAction(View view)
{
startActivity(new Intent(this, WeekViewActivity.class));
}

}

Expand Down
90 changes: 90 additions & 0 deletions app/src/main/java/com/example/us_2_0/MonthViewActivity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
package com.example.us_2_0;

import static com.example.us_2_0.CalendarUtils.daysInMonthArray;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;

public class MonthViewActivity extends AppCompatActivity {
private TextView monthYearText;
private RecyclerView calendarRecyclerView;

@RequiresApi(api = Build.VERSION_CODES.O)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_month_view);


initWidgets();
CalendarUtils.selectedDate = LocalDate.now();
setMonthView();

}

private void initWidgets()
{
calendarRecyclerView = findViewById(R.id.calendarRecyclerView);
monthYearText = findViewById(R.id.monthYearTV);
}

@RequiresApi(api = Build.VERSION_CODES.O)
private void setMonthView()
{
monthYearText.setText(monthYearFromDate(CalendarUtils.selectedDate));
ArrayList<LocalDate> daysInMonth = daysInMonthArray(CalendarUtils.selectedDate);

CalendarAdapter calendarAdapter = new CalendarAdapter(daysInMonth, this::onItemClick);
RecyclerView.LayoutManager layoutManager = new GridLayoutManager(getApplicationContext(), 7);
calendarRecyclerView.setLayoutManager(layoutManager);
calendarRecyclerView.setAdapter(calendarAdapter);
}

@RequiresApi(api = Build.VERSION_CODES.O)
private String monthYearFromDate(LocalDate date)
{
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MMMM yyyy");
return date.format(formatter);
}

@RequiresApi(api = Build.VERSION_CODES.O)
public void previousMonthAction(View view)
{
CalendarUtils.selectedDate = CalendarUtils.selectedDate.minusMonths(1);
setMonthView();
}

@RequiresApi(api = Build.VERSION_CODES.O)
public void nextMonthAction(View view)
{
CalendarUtils.selectedDate = CalendarUtils.selectedDate.plusMonths(1);
setMonthView();
}

@RequiresApi(api = Build.VERSION_CODES.O)
public void onItemClick(int position, LocalDate date)
{
if(date != null)
{
CalendarUtils.selectedDate = date;
setMonthView();
}
}


}



132 changes: 1 addition & 131 deletions app/src/main/res/layout/activity_landing_page.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,137 +27,7 @@

/>



<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginBottom="20dp"
android:layout_marginTop="20dp">

<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Back"
android:backgroundTint="@color/gray"
android:textColor="@color/white"
android:background="@null"
android:textStyle="bold"
android:onClick="previousMonthAction"
android:textSize="20sp"/>

<TextView
android:id="@+id/monthYearTV"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content"
android:text="Feb 2021"
android:textSize="20sp"
android:backgroundTint="@color/gray"
android:textAlignment="center"
android:textColor="@color/white"/>

<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Forward"
android:backgroundTint="@color/gray"
android:textColor="@color/white"
android:background="@null"
android:textStyle="bold"
android:onClick="nextMonthAction"
android:textSize="20sp"/>

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="SUN"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="MON"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="TUE"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="WED"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="THUR"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="FRI"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="SAT"
android:textColor="@color/gray"
android:textAlignment="center"
android:textSize="16sp"/>


</LinearLayout>


<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#000000"/>



<androidx.recyclerview.widget.RecyclerView
android:id="@+id/calendarRecyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
</LinearLayout>

<com.google.android.material.navigation.NavigationView
android:id="@+id/navigationView"
Expand Down
Loading

0 comments on commit 17da59c

Please sign in to comment.