From 8d231c06fe63dbb36f5ade2645f25a8694361cab Mon Sep 17 00:00:00 2001 From: Langleu Date: Fri, 30 Jun 2017 11:13:33 +0200 Subject: [PATCH] add swipe to refresh to every necessary activity --- .../mobile/ui/courses/CourseActivity.java | 20 ++++ .../ui/dashboard/DashboardActivity.java | 16 +++- .../mobile/ui/files/FileActivity.java | 25 ++++- .../mobile/ui/homework/HomeworkActivity.java | 20 ++++ .../courses/layout/activity_course.xml | 45 +++++---- .../dashboard/layout/activity_dashboard.xml | 2 +- .../layouts/files/layout/activity_files.xml | 96 ++++++++++--------- .../homework/layout/activity_homework.xml | 45 +++++---- 8 files changed, 182 insertions(+), 87 deletions(-) diff --git a/app/src/main/java/org/schulcloud/mobile/ui/courses/CourseActivity.java b/app/src/main/java/org/schulcloud/mobile/ui/courses/CourseActivity.java index fffa278e..14746867 100644 --- a/app/src/main/java/org/schulcloud/mobile/ui/courses/CourseActivity.java +++ b/app/src/main/java/org/schulcloud/mobile/ui/courses/CourseActivity.java @@ -4,6 +4,8 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -38,6 +40,9 @@ public class CourseActivity extends BaseActivity implements CourseMvpView { @BindView(R.id.recycler_view) RecyclerView mRecyclerView; + @BindView(R.id.swiperefresh) + SwipeRefreshLayout swipeRefresh; + /** * Return an Intent to start this Activity. * triggerDataSyncOnCreate allows disabling the background sync service onCreate. Should @@ -75,6 +80,21 @@ protected void onCreate(Bundle savedInstanceState) { if (getIntent().getBooleanExtra(EXTRA_TRIGGER_SYNC_FLAG, true)) { startService(CourseSyncService.getStartIntent(this)); } + + swipeRefresh.setColorSchemeColors(getResources().getColor(R.color.hpiRed), getResources().getColor(R.color.hpiOrange), getResources().getColor(R.color.hpiYellow)); + + swipeRefresh.setOnRefreshListener( + () -> { + startService(CourseSyncService.getStartIntent(this)); + + Handler handler = new Handler(); + handler.postDelayed(() -> { + mCoursePresenter.loadCourses(); + + swipeRefresh.setRefreshing(false); + }, 3000); + } + ); } @Override diff --git a/app/src/main/java/org/schulcloud/mobile/ui/dashboard/DashboardActivity.java b/app/src/main/java/org/schulcloud/mobile/ui/dashboard/DashboardActivity.java index 522d6011..e00f17d3 100644 --- a/app/src/main/java/org/schulcloud/mobile/ui/dashboard/DashboardActivity.java +++ b/app/src/main/java/org/schulcloud/mobile/ui/dashboard/DashboardActivity.java @@ -4,6 +4,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; @@ -85,12 +86,21 @@ protected void onCreate(Bundle savedInstanceState) { startService(EventSyncService.getStartIntent(this)); } + swipeRefresh.setColorSchemeColors(getResources().getColor(R.color.hpiRed), getResources().getColor(R.color.hpiOrange), getResources().getColor(R.color.hpiYellow)); + swipeRefresh.setOnRefreshListener( () -> { - mDashboardPresenter.showHomeworks(); - mDashboardPresenter.showEvents(); + startService(CourseSyncService.getStartIntent(this)); + startService(HomeworkSyncService.getStartIntent(this)); + startService(EventSyncService.getStartIntent(this)); + + Handler handler = new Handler(); + handler.postDelayed(() -> { + mDashboardPresenter.showHomeworks(); + mDashboardPresenter.showEvents(); - swipeRefresh.setRefreshing(false); + swipeRefresh.setRefreshing(false); + }, 3000); } ); diff --git a/app/src/main/java/org/schulcloud/mobile/ui/files/FileActivity.java b/app/src/main/java/org/schulcloud/mobile/ui/files/FileActivity.java index 5f183d10..05771397 100644 --- a/app/src/main/java/org/schulcloud/mobile/ui/files/FileActivity.java +++ b/app/src/main/java/org/schulcloud/mobile/ui/files/FileActivity.java @@ -7,15 +7,14 @@ import android.content.res.ColorStateList; import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.support.design.widget.FloatingActionButton; -import android.support.v7.app.AlertDialog; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Toast; import com.github.johnpersano.supertoasts.library.utils.PaletteUtils; @@ -67,6 +66,9 @@ public class FileActivity extends BaseActivity implements FileMvpView { @BindView(R.id.files_upload) FloatingActionButton fileUploadButton; + @BindView(R.id.swiperefresh) + SwipeRefreshLayout swipeRefresh; + private InternalFilesUtil filesUtil; private ProgressDialog uploadProgressDialog; private ProgressDialog downloadProgressDialog; @@ -119,6 +121,23 @@ protected void onCreate(Bundle savedInstanceState) { } filesUtil = new InternalFilesUtil(this); + + swipeRefresh.setColorSchemeColors(getResources().getColor(R.color.hpiRed), getResources().getColor(R.color.hpiOrange), getResources().getColor(R.color.hpiYellow)); + + swipeRefresh.setOnRefreshListener( + () -> { + startService(FileSyncService.getStartIntent(this)); + startService(DirectorySyncService.getStartIntent(this)); + + Handler handler = new Handler(); + handler.postDelayed(() -> { + mFilePresenter.loadFiles(); + mFilePresenter.loadDirectories(); + + swipeRefresh.setRefreshing(false); + }, 3000); + } + ); } @Override diff --git a/app/src/main/java/org/schulcloud/mobile/ui/homework/HomeworkActivity.java b/app/src/main/java/org/schulcloud/mobile/ui/homework/HomeworkActivity.java index 146ab4d9..f4309cde 100644 --- a/app/src/main/java/org/schulcloud/mobile/ui/homework/HomeworkActivity.java +++ b/app/src/main/java/org/schulcloud/mobile/ui/homework/HomeworkActivity.java @@ -4,6 +4,8 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.os.Handler; +import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -38,6 +40,8 @@ public class HomeworkActivity extends BaseActivity implements HomeworkMvpView { @BindView(R.id.recycler_view) RecyclerView mRecyclerView; + @BindView(R.id.swiperefresh) + SwipeRefreshLayout swipeRefresh; /** * Return an Intent to start this Activity. @@ -77,6 +81,22 @@ protected void onCreate(Bundle savedInstanceState) { startService(HomeworkSyncService.getStartIntent(this)); startService(SubmissionSyncService.getStartIntent(this)); } + + swipeRefresh.setColorSchemeColors(getResources().getColor(R.color.hpiRed), getResources().getColor(R.color.hpiOrange), getResources().getColor(R.color.hpiYellow)); + + swipeRefresh.setOnRefreshListener( + () -> { + startService(HomeworkSyncService.getStartIntent(this)); + startService(SubmissionSyncService.getStartIntent(this)); + + Handler handler = new Handler(); + handler.postDelayed(() -> { + mHomeworkPresenter.loadHomework(); + + swipeRefresh.setRefreshing(false); + }, 3000); + } + ); } @Override diff --git a/app/src/main/res/layouts/courses/layout/activity_course.xml b/app/src/main/res/layouts/courses/layout/activity_course.xml index 1346ace7..fba29dcf 100644 --- a/app/src/main/res/layouts/courses/layout/activity_course.xml +++ b/app/src/main/res/layouts/courses/layout/activity_course.xml @@ -1,26 +1,35 @@ - + android:layout_height="wrap_content" + android:background="@color/gray"> - + android:layout_marginTop="70dp"> - - + + + + + + + + diff --git a/app/src/main/res/layouts/dashboard/layout/activity_dashboard.xml b/app/src/main/res/layouts/dashboard/layout/activity_dashboard.xml index 9441e3d7..bd222fb1 100644 --- a/app/src/main/res/layouts/dashboard/layout/activity_dashboard.xml +++ b/app/src/main/res/layouts/dashboard/layout/activity_dashboard.xml @@ -5,6 +5,7 @@ @@ -25,7 +26,6 @@ android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" - android:layout_marginTop="70dp" android:paddingBottom="@dimen/bootstrap_alert_paddings" android:text="Heutige Stunden" android:textColor="@color/hpiRed" diff --git a/app/src/main/res/layouts/files/layout/activity_files.xml b/app/src/main/res/layouts/files/layout/activity_files.xml index 63f68b41..91236a04 100644 --- a/app/src/main/res/layouts/files/layout/activity_files.xml +++ b/app/src/main/res/layouts/files/layout/activity_files.xml @@ -1,55 +1,63 @@ + + + + - - + android:fillViewport="true"> - + android:orientation="vertical" + android:paddingBottom="25dp"> + - - - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layouts/homework/layout/activity_homework.xml b/app/src/main/res/layouts/homework/layout/activity_homework.xml index 1346ace7..c79aa0ca 100644 --- a/app/src/main/res/layouts/homework/layout/activity_homework.xml +++ b/app/src/main/res/layouts/homework/layout/activity_homework.xml @@ -1,26 +1,35 @@ - - + android:layout_marginTop="70dp" + android:layout_height="match_parent"> - - + + + + + + + +