You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by sa...@apache.org on 2018/06/11 18:24:55 UTC
[2/6] incubator-taverna-mobile git commit: Dagger 2.8 implementation
added
Dagger 2.8 implementation added
Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/commit/c421e709
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/c421e709
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/c421e709
Branch: refs/heads/master
Commit: c421e7099219e17daae77b1124d33376ce22d410
Parents: 7a3ccba
Author: Sagar <ku...@gmail.com>
Authored: Mon Jun 11 23:09:53 2018 +0530
Committer: Sagar <ku...@gmail.com>
Committed: Mon Jun 11 23:09:53 2018 +0530
----------------------------------------------------------------------
app/build.gradle | 5 ++
app/src/main/AndroidManifest.xml | 2 +-
.../taverna/mobile/TavernaApplication.java | 44 +++++++----
.../apache/taverna/mobile/data/DataManager.java | 19 +++--
.../taverna/mobile/data/local/DBHelper.java | 6 +-
.../mobile/data/local/PreferencesHelper.java | 17 +++--
.../taverna/mobile/data/model/Announcement.java | 11 ++-
.../mobile/data/model/Announcements.java | 1 -
.../mobile/data/remote/BaseApiManager.java | 15 +++-
.../mobile/injection/ActivityContext.java | 11 +++
.../mobile/injection/ApplicationContext.java | 11 +++
.../taverna/mobile/injection/PerActivity.java | 17 +++++
.../injection/component/ActivityComponent.java | 78 ++++++++++++++++++++
.../component/ApplicationComponent.java | 26 +++++++
.../mobile/injection/module/ActivityModule.java | 30 ++++++++
.../injection/module/ApplicationModule.java | 40 ++++++++++
.../taverna/mobile/ui/DashboardActivity.java | 11 +--
.../taverna/mobile/ui/DownloadingFragment.java | 4 -
.../taverna/mobile/ui/FlashScreenActivity.java | 13 ++--
.../mobile/ui/adapter/AnnouncementAdapter.java | 3 +-
.../ui/adapter/FavouriteWorkflowsAdapter.java | 4 +-
.../ui/adapter/TutorialSliderAdapter.java | 7 +-
.../mobile/ui/adapter/WorkflowAdapter.java | 4 +-
.../ui/anouncements/AnnouncementFragment.java | 24 +++---
.../ui/anouncements/AnnouncementPresenter.java | 3 +
.../taverna/mobile/ui/base/BaseActivity.java | 27 +++++++
.../FavouriteWorkflowsActivity.java | 3 +-
.../FavouriteWorkflowsFragment.java | 24 +++---
.../FavouriteWorkflowsPresenter.java | 4 +-
.../FavouriteWorkflowDetailActivity.java | 3 +-
.../FavouriteWorkflowDetailFragment.java | 14 ++--
.../FavouriteWorkflowDetailPresenter.java | 3 +
.../mobile/ui/imagezoom/ImageZoomActivity.java | 3 +-
.../mobile/ui/imagezoom/ImageZoomFragment.java | 11 ++-
.../mobile/ui/imagezoom/ImageZoomPresenter.java | 4 +-
.../taverna/mobile/ui/login/LoginActivity.java | 3 +-
.../taverna/mobile/ui/login/LoginFragment.java | 15 ++--
.../taverna/mobile/ui/login/LoginPresenter.java | 4 +-
.../ui/myworkflows/MyWorkflowActivity.java | 61 +++++++++++++++
.../ui/myworkflows/MyWorkflowFragment.java | 19 ++---
.../ui/myworkflows/MyWorkflowPresenter.java | 4 +-
.../ui/myworkflows/MyWorkflowsActivity.java | 60 ---------------
.../ui/playerlogin/PlayerLoginFragment.java | 12 +--
.../ui/playerlogin/PlayerLoginPresenter.java | 3 +
.../mobile/ui/tutorial/TutorialActivity.java | 11 ++-
.../ui/userprofile/UserProfileActivity.java | 4 +-
.../ui/userprofile/UserProfileFragment.java | 14 ++--
.../mobile/ui/workflow/WorkflowFragment.java | 16 ++--
.../mobile/ui/workflow/WorkflowPresenter.java | 5 +-
.../workflowdetail/WorkflowDetailActivity.java | 3 +-
.../workflowdetail/WorkflowDetailFragment.java | 14 ++--
.../workflowdetail/WorkflowDetailPresenter.java | 3 +
.../ui/workflowrun/WorkflowRunActivity.java | 22 +++---
.../ui/workflowrun/WorkflowRunPresenter.java | 4 +-
app/src/main/res/layout/activity_usage.xml | 1 -
.../mobile/AnnouncementPresenterTest.java | 2 +-
build.gradle | 1 +
57 files changed, 553 insertions(+), 230 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/build.gradle
----------------------------------------------------------------------
diff --git a/app/build.gradle b/app/build.gradle
index 0daa6c6..597f937 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -127,4 +127,9 @@ dependencies {
testImplementation "junit:junit:4.12"
testImplementation "org.mockito:mockito-all:1.10.19"
+ //Dependencies for Dagger 2
+ implementation "com.google.dagger:dagger:$rootProject.dagger"
+ annotationProcessor "com.google.dagger:dagger-compiler:$rootProject.dagger"
+
+
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/AndroidManifest.xml
----------------------------------------------------------------------
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index e4290b7..1290302 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -103,7 +103,7 @@ limitations under the License.
<activity android:name=".ui.usage.UsageActivity" />
<activity android:name=".ui.userprofile.UserProfileActivity"/>
<activity android:name=".ui.favouriteworkflow.FavouriteWorkflowsActivity"/>
- <activity android:name=".ui.myworkflows.MyWorkflowsActivity"/>
+ <activity android:name=".ui.myworkflows.MyWorkflowActivity"/>
</application>
</manifest>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/TavernaApplication.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/TavernaApplication.java b/app/src/main/java/org/apache/taverna/mobile/TavernaApplication.java
index d2ab2af..41bd726 100644
--- a/app/src/main/java/org/apache/taverna/mobile/TavernaApplication.java
+++ b/app/src/main/java/org/apache/taverna/mobile/TavernaApplication.java
@@ -19,31 +19,30 @@
package org.apache.taverna.mobile;
-import android.app.Application;
-import android.content.Context;
-
import com.facebook.stetho.Stetho;
import com.raizlabs.android.dbflow.config.FlowConfig;
import com.raizlabs.android.dbflow.config.FlowManager;
import com.squareup.leakcanary.LeakCanary;
-public class TavernaApplication extends Application {
+import org.apache.taverna.mobile.injection.component.ApplicationComponent;
+import org.apache.taverna.mobile.injection.component.DaggerApplicationComponent;
+import org.apache.taverna.mobile.injection.module.ApplicationModule;
- private static TavernaApplication instance;
+import android.app.Application;
+import android.content.Context;
- public static Context getContext() {
- return instance;
- }
+public class TavernaApplication extends Application {
+
+ ApplicationComponent mApplicationComponent;
@Override
public void onCreate() {
super.onCreate();
- if (instance == null) {
- instance = this;
- }
- FlowManager.init(new FlowConfig.Builder(this).build());
- Stetho.initializeWithDefaults(this);
+ FlowManager.init(new FlowConfig.Builder(this).build());
+ if(BuildConfig.DEBUG) {
+ Stetho.initializeWithDefaults(this);
+ }
if (LeakCanary.isInAnalyzerProcess(this)) {
return;
@@ -51,4 +50,23 @@ public class TavernaApplication extends Application {
LeakCanary.install(this);
}
+
+ public static TavernaApplication get(Context context) {
+ return (TavernaApplication) context.getApplicationContext();
+ }
+
+ public ApplicationComponent getComponent() {
+ if (mApplicationComponent == null) {
+ mApplicationComponent = DaggerApplicationComponent.builder()
+ .applicationModule(new ApplicationModule(this))
+ .build();
+ }
+ return mApplicationComponent;
+ }
+
+
+ public void setComponent(ApplicationComponent applicationComponent) {
+ mApplicationComponent = applicationComponent;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
index f44b933..707857c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/DataManager.java
@@ -34,25 +34,34 @@ import org.apache.taverna.mobile.data.remote.BaseApiManager;
import java.util.List;
import java.util.Map;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
import io.reactivex.functions.Function;
import okhttp3.RequestBody;
import okhttp3.ResponseBody;
+@Singleton
public class DataManager {
- public BaseApiManager mBaseApiManager = new BaseApiManager();
+ private BaseApiManager mBaseApiManager;
- public DBHelper mDBHelper = new DBHelper();
+ private DBHelper mDBHelper;
private PreferencesHelper mPreferencesHelper;
- public DataManager() {
+ @Inject
+ public DataManager(BaseApiManager baseApiManager, DBHelper dbHelper, PreferencesHelper
+ mPreferencesHelper) {
+ this.mPreferencesHelper = mPreferencesHelper;
+ this.mBaseApiManager = baseApiManager;
+ this.mDBHelper = dbHelper;
}
- public DataManager(PreferencesHelper mPreferencesHelper) {
- this.mPreferencesHelper = mPreferencesHelper;
+ public DBHelper getDBHelper() {
+ return mDBHelper;
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java b/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
index 3e98c50..352c1d8 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/local/DBHelper.java
@@ -18,7 +18,6 @@
*/
package org.apache.taverna.mobile.data.local;
-
import android.support.annotation.Nullable;
import com.raizlabs.android.dbflow.sql.language.SQLite;
@@ -30,16 +29,21 @@ import org.apache.taverna.mobile.data.model.Workflows;
import java.util.List;
import java.util.concurrent.Callable;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
+@Singleton
public class DBHelper {
public static final String SVG_URI = "svgURI";
public static final String JPG_URI = "jpgURI";
+ @Inject
public DBHelper() {
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java b/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java
index a4818bf..80e2f00 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/local/PreferencesHelper.java
@@ -18,9 +18,10 @@
*/
package org.apache.taverna.mobile.data.local;
-
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.model.User;
+import org.apache.taverna.mobile.injection.ActivityContext;
+import org.apache.taverna.mobile.injection.ApplicationContext;
import android.content.Context;
import android.content.SharedPreferences;
@@ -28,10 +29,14 @@ import android.preference.PreferenceManager;
import java.util.concurrent.Callable;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+import dagger.Provides;
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
-
+@Singleton
public class PreferencesHelper {
public static final String PREF_KEY_PLAYER_LOGGED_IN = "pref_player_logged_in";
@@ -63,17 +68,17 @@ public class PreferencesHelper {
public static final String PREF_KEY_PLAYER_USER_PASSWORD = "pref_password";
+ private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch";
+
private final SharedPreferences sharedPref;
private Context mContext;
- private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch";
-
- public PreferencesHelper(Context context) {
+ @Inject
+ public PreferencesHelper(@ApplicationContext Context context) {
sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
mContext = context;
}
-
public void clear() {
sharedPref.edit().clear().apply();
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
index d4f1201..ebea4eb 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcement.java
@@ -24,9 +24,12 @@ import org.simpleframework.xml.Text;
import android.os.Parcel;
import android.os.Parcelable;
+import javax.inject.Inject;
+import javax.inject.Singleton;
-public class Announcement implements Parcelable {
+import dagger.Provides;
+public class Announcement implements Parcelable {
@Attribute(name = "resource", required = false)
String resource;
@@ -40,8 +43,6 @@ public class Announcement implements Parcelable {
@Text
String content;
-
-
public String getContent() {
return content;
}
@@ -87,10 +88,8 @@ public class Announcement implements Parcelable {
dest.writeString(this.content);
}
- public Announcement() {
- }
- protected Announcement(Parcel in) {
+ public Announcement(Parcel in) {
this.resource = in.readString();
this.uri = in.readString();
this.id = in.readString();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
index 8ac3de4..c66b3e0 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/model/Announcements.java
@@ -26,7 +26,6 @@ import android.os.Parcelable;
import java.util.List;
-
@Root(name = "announcements")
public class Announcements implements Parcelable {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
index 84d5aed..83fe64b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
+++ b/app/src/main/java/org/apache/taverna/mobile/data/remote/BaseApiManager.java
@@ -18,21 +18,31 @@
*/
package org.apache.taverna.mobile.data.remote;
-import org.apache.taverna.mobile.TavernaApplication;
import org.apache.taverna.mobile.data.local.PreferencesHelper;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
import retrofit2.converter.simplexml.SimpleXmlConverterFactory;
+@Singleton
public class BaseApiManager {
public static final String MY_EXPERIMENT_END_POINT = "http://www.myexperiment.org/";
+ PreferencesHelper mPreferencesHelper;
+
+ @Inject
+ public BaseApiManager(PreferencesHelper preferencesHelper) {
+ mPreferencesHelper = preferencesHelper;
+ }
+
/********
* Helper class that sets up a new services with simplexml converter factory
*******/
@@ -70,7 +80,6 @@ public class BaseApiManager {
}
public TavernaPlayerService getTavernaPlayerApi() {
- return createJsonApi(TavernaPlayerService.class,
- new PreferencesHelper(TavernaApplication.getContext()).getPlayerURL());
+ return createJsonApi(TavernaPlayerService.class, mPreferencesHelper.getPlayerURL());
}
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/ActivityContext.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/ActivityContext.java b/app/src/main/java/org/apache/taverna/mobile/injection/ActivityContext.java
new file mode 100644
index 0000000..1476b50
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/ActivityContext.java
@@ -0,0 +1,11 @@
+package org.apache.taverna.mobile.injection;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ActivityContext {
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/ApplicationContext.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/ApplicationContext.java b/app/src/main/java/org/apache/taverna/mobile/injection/ApplicationContext.java
new file mode 100644
index 0000000..e71f26a
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/ApplicationContext.java
@@ -0,0 +1,11 @@
+package org.apache.taverna.mobile.injection;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ApplicationContext {
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/PerActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/PerActivity.java b/app/src/main/java/org/apache/taverna/mobile/injection/PerActivity.java
new file mode 100755
index 0000000..e32dd59
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/PerActivity.java
@@ -0,0 +1,17 @@
+package org.apache.taverna.mobile.injection;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.inject.Scope;
+
+/**
+ * A scoping annotation to permit objects whose lifetime should
+ * conform to the life of the Activity to be memorised in the
+ * correct component.
+ */
+
+@Scope
+@Retention(RetentionPolicy.RUNTIME)
+public @interface PerActivity {
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/component/ActivityComponent.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/component/ActivityComponent.java b/app/src/main/java/org/apache/taverna/mobile/injection/component/ActivityComponent.java
new file mode 100644
index 0000000..c6705f6
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/component/ActivityComponent.java
@@ -0,0 +1,78 @@
+package org.apache.taverna.mobile.injection.component;
+
+import org.apache.taverna.mobile.injection.PerActivity;
+import org.apache.taverna.mobile.injection.module.ActivityModule;
+import org.apache.taverna.mobile.ui.DashboardActivity;
+import org.apache.taverna.mobile.ui.anouncements.AnnouncementFragment;
+import org.apache.taverna.mobile.ui.favouriteworkflow.FavouriteWorkflowsActivity;
+import org.apache.taverna.mobile.ui.favouriteworkflow.FavouriteWorkflowsFragment;
+import org.apache.taverna.mobile.ui.favouriteworkflowdetail.FavouriteWorkflowDetailActivity;
+import org.apache.taverna.mobile.ui.favouriteworkflowdetail.FavouriteWorkflowDetailFragment;
+import org.apache.taverna.mobile.ui.imagezoom.ImageZoomActivity;
+import org.apache.taverna.mobile.ui.imagezoom.ImageZoomFragment;
+import org.apache.taverna.mobile.ui.login.LoginActivity;
+import org.apache.taverna.mobile.ui.login.LoginFragment;
+import org.apache.taverna.mobile.ui.myworkflows.MyWorkflowActivity;
+import org.apache.taverna.mobile.ui.myworkflows.MyWorkflowFragment;
+import org.apache.taverna.mobile.ui.playerlogin.PlayerLoginFragment;
+import org.apache.taverna.mobile.ui.tutorial.TutorialActivity;
+import org.apache.taverna.mobile.ui.usage.UsageActivity;
+import org.apache.taverna.mobile.ui.userprofile.UserProfileActivity;
+import org.apache.taverna.mobile.ui.userprofile.UserProfileFragment;
+import org.apache.taverna.mobile.ui.workflow.WorkflowFragment;
+import org.apache.taverna.mobile.ui.workflowdetail.WorkflowDetailActivity;
+import org.apache.taverna.mobile.ui.workflowdetail.WorkflowDetailFragment;
+import org.apache.taverna.mobile.ui.workflowrun.WorkflowRunActivity;
+
+import dagger.Component;
+
+/**
+ * This component inject dependencies to all Activities across the application
+ */
+
+@PerActivity
+@Component(dependencies = ApplicationComponent.class, modules = ActivityModule.class)
+public interface ActivityComponent {
+
+ void inject(DashboardActivity dashboardActivity);
+
+ void inject(FavouriteWorkflowsActivity favouriteWorkflowsActivity);
+
+ void inject(FavouriteWorkflowDetailActivity favouriteWorkflowDetailActivity);
+
+ void inject(ImageZoomActivity imageZoomActivity);
+
+ void inject(LoginActivity loginActivity);
+
+ void inject(MyWorkflowActivity myWorkflowActivity);
+
+ void inject(TutorialActivity tutorialActivity);
+
+ void inject(UsageActivity usageActivity);
+
+ void inject(UserProfileActivity userProfileActivity);
+
+ void inject(WorkflowDetailActivity workflowDetailActivity);
+
+ void inject(AnnouncementFragment announcementFragment);
+
+ void inject(FavouriteWorkflowsFragment favouriteWorkflowsFragment);
+
+ void inject(FavouriteWorkflowDetailFragment favouriteWorkflowDetailFragment);
+
+ void inject(ImageZoomFragment imageZoomFragment);
+
+ void inject(LoginFragment loginFragment);
+
+ void inject(MyWorkflowFragment myWorkflowFragment);
+
+ void inject(PlayerLoginFragment playerLoginFragment);
+
+ void inject(UserProfileFragment userProfileFragment);
+
+ void inject(WorkflowFragment workflowFragment);
+
+ void inject(WorkflowDetailFragment workflowDetailFragment);
+
+ void inject(WorkflowRunActivity workflowRunActivity);
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/component/ApplicationComponent.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/component/ApplicationComponent.java b/app/src/main/java/org/apache/taverna/mobile/injection/component/ApplicationComponent.java
new file mode 100644
index 0000000..517a3a5
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/component/ApplicationComponent.java
@@ -0,0 +1,26 @@
+package org.apache.taverna.mobile.injection.component;
+
+import android.app.Application;
+import android.content.Context;
+
+import org.apache.taverna.mobile.data.DataManager;
+import org.apache.taverna.mobile.data.local.PreferencesHelper;
+import org.apache.taverna.mobile.injection.ApplicationContext;
+import org.apache.taverna.mobile.injection.module.ActivityModule;
+import org.apache.taverna.mobile.injection.module.ApplicationModule;
+
+import javax.inject.Singleton;
+
+import dagger.Component;
+
+@Singleton
+@Component(modules = ApplicationModule.class)
+public interface ApplicationComponent {
+
+ @ApplicationContext
+ Context context();
+ Application application();
+ DataManager dataManager();
+ PreferencesHelper preferencesHelper();
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/module/ActivityModule.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/module/ActivityModule.java b/app/src/main/java/org/apache/taverna/mobile/injection/module/ActivityModule.java
new file mode 100644
index 0000000..d54752a
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/module/ActivityModule.java
@@ -0,0 +1,30 @@
+package org.apache.taverna.mobile.injection.module;
+
+import android.app.Activity;
+import android.content.Context;
+
+import org.apache.taverna.mobile.injection.ActivityContext;
+
+import dagger.Module;
+import dagger.Provides;
+
+@Module
+public class ActivityModule {
+
+ private Activity mActivity;
+
+ public ActivityModule(Activity activity) {
+ mActivity = activity;
+ }
+
+ @Provides
+ Activity provideActivity() {
+ return mActivity;
+ }
+
+ @Provides
+ @ActivityContext
+ Context providesContext() {
+ return mActivity;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/injection/module/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/injection/module/ApplicationModule.java b/app/src/main/java/org/apache/taverna/mobile/injection/module/ApplicationModule.java
new file mode 100644
index 0000000..f6c04c6
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/injection/module/ApplicationModule.java
@@ -0,0 +1,40 @@
+package org.apache.taverna.mobile.injection.module;
+
+import android.app.Application;
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import com.raizlabs.android.dbflow.annotation.Database;
+
+import org.apache.taverna.mobile.data.remote.TavernaService;
+import org.apache.taverna.mobile.injection.ApplicationContext;
+
+import javax.inject.Singleton;
+
+import dagger.Module;
+import dagger.Provides;
+
+/**
+ * Provide application-level dependencies.
+ */
+
+@Module
+public class ApplicationModule {
+ protected final Application mApplication;
+
+ public ApplicationModule(Application application) {
+ mApplication = application;
+ }
+
+ @Provides
+ Application provideApplication() {
+ return mApplication;
+ }
+
+ @Provides
+ @ApplicationContext
+ Context provideContext() {
+ return mApplication;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/DashboardActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/DashboardActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/DashboardActivity.java
index 2b32bbf..4410d5f 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/DashboardActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/DashboardActivity.java
@@ -55,15 +55,19 @@ import com.bumptech.glide.load.resource.drawable.GlideDrawable;
import com.bumptech.glide.request.animation.GlideAnimation;
import com.bumptech.glide.request.target.SimpleTarget;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import de.hdodenhof.circleimageview.CircleImageView;
-import static org.apache.taverna.mobile.TavernaApplication.getContext;
+import static com.raizlabs.android.dbflow.config.FlowManager.getContext;
public class DashboardActivity extends AppCompatActivity {
+ @Inject DataManager dataManager;
+
@BindView(R.id.nav_view)
NavigationView navigationView;
@@ -74,7 +78,6 @@ public class DashboardActivity extends AppCompatActivity {
Toolbar toolbar;
private Dialog dialog;
- private DataManager dataManager;
private Fragment fragment;
private MenuItem item;
@@ -110,8 +113,6 @@ public class DashboardActivity extends AppCompatActivity {
navigationView.setCheckedItem(R.id.nav_workflows);
}
- dataManager = new DataManager(new PreferencesHelper(this));
-
setNavHeader();
}
@@ -277,7 +278,7 @@ public class DashboardActivity extends AppCompatActivity {
private void signOut() {
mDrawerLayout.closeDrawers();
dataManager.getPreferencesHelper().clear();
- dataManager.mDBHelper.clearFavouriteWorkflow();
+ dataManager.getDBHelper().clearFavouriteWorkflow();
startActivity(new Intent(getApplicationContext(),
LoginActivity.class));
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/DownloadingFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/DownloadingFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/DownloadingFragment.java
index 11c1300..4c3dc8b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/DownloadingFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/DownloadingFragment.java
@@ -32,10 +32,8 @@ import org.apache.taverna.mobile.utils.Constants;
import butterknife.BindView;
import butterknife.ButterKnife;
-
public class DownloadingFragment extends Fragment {
-
@BindView(R.id.tvMessage)
TextView tv_Message;
@@ -50,7 +48,6 @@ public class DownloadingFragment extends Fragment {
return fragment;
}
-
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -76,5 +73,4 @@ public class DownloadingFragment extends Fragment {
tv_Message.setText(message);
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java
index e882a5a..2a1dd61 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/FlashScreenActivity.java
@@ -18,7 +18,6 @@
*/
package org.apache.taverna.mobile.ui;
-
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
@@ -32,6 +31,8 @@ import org.apache.taverna.mobile.ui.tutorial.TutorialActivity;
import java.util.concurrent.TimeUnit;
+import javax.inject.Inject;
+
import io.reactivex.Observable;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.functions.Consumer;
@@ -39,16 +40,14 @@ import io.reactivex.schedulers.Schedulers;
public class FlashScreenActivity extends AppCompatActivity {
- private DataManager dataManager;
- private PreferencesHelper preferencesHelper;
-
+ @Inject
+ DataManager dataManager;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_flash_screen);
- preferencesHelper = new PreferencesHelper(this);
- dataManager = new DataManager(new PreferencesHelper(this));
+
Observable.timer(2, TimeUnit.SECONDS)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
@@ -57,7 +56,7 @@ public class FlashScreenActivity extends AppCompatActivity {
public void accept(Long aLong) throws Exception {
if (!dataManager.getPreferencesHelper().isLoggedInFlag()) {
dataManager.getPreferencesHelper().clear();
- if (preferencesHelper.isFirstTimeLaunch()) {
+ if (dataManager.getPreferencesHelper().isFirstTimeLaunch()) {
startActivity(new Intent(FlashScreenActivity.this,
TutorialActivity.class));
(FlashScreenActivity.this).finish();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
index 70b91af..a3cc635 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/AnnouncementAdapter.java
@@ -30,10 +30,11 @@ import android.widget.TextView;
import java.util.List;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
-
public class AnnouncementAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final int VIEW_ITEM = 1;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/adapter/FavouriteWorkflowsAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/FavouriteWorkflowsAdapter.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/FavouriteWorkflowsAdapter.java
index c5c462f..44ba09b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/FavouriteWorkflowsAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/FavouriteWorkflowsAdapter.java
@@ -42,6 +42,8 @@ import org.apache.taverna.mobile.data.model.Workflow;
import java.util.List;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -50,9 +52,9 @@ public class FavouriteWorkflowsAdapter extends RecyclerView.Adapter<RecyclerView
private static final String TAG = FavouriteWorkflowsAdapter.class.getName();
private final List<Workflow> mWorkflowList;
-
private final Context context;
+
public FavouriteWorkflowsAdapter(List<Workflow> mWorkflowList, Context context) {
this.mWorkflowList = mWorkflowList;
this.context = context;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/adapter/TutorialSliderAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/TutorialSliderAdapter.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/TutorialSliderAdapter.java
index 607d2e2..ebdc277 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/TutorialSliderAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/TutorialSliderAdapter.java
@@ -25,12 +25,17 @@ import android.view.View;
import android.view.ViewGroup;
import org.apache.taverna.mobile.data.model.TutorialSliderEnum;
+import org.apache.taverna.mobile.injection.ApplicationContext;
+
+import javax.inject.Inject;
public class TutorialSliderAdapter extends PagerAdapter {
private Context context;
- public TutorialSliderAdapter(Context context) {
+
+ @Inject
+ public TutorialSliderAdapter(@ApplicationContext Context context) {
this.context = context;
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/adapter/WorkflowAdapter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/WorkflowAdapter.java b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/WorkflowAdapter.java
index 0b7901d..ab011f6 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/adapter/WorkflowAdapter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/adapter/WorkflowAdapter.java
@@ -43,6 +43,8 @@ import android.widget.TextView;
import java.util.List;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -54,9 +56,9 @@ public class WorkflowAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolde
private static final String TAG = WorkflowAdapter.class.getName();
private final List<Workflow> mWorkflowList;
-
private final Context context;
+
public WorkflowAdapter(List<Workflow> mWorkflowList, Context context) {
this.mWorkflowList = mWorkflowList;
this.context = context;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
index 40a8c27..ac1df9b 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementFragment.java
@@ -22,9 +22,12 @@ import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.model.Announcements;
import org.apache.taverna.mobile.data.model.DetailAnnouncement;
+import org.apache.taverna.mobile.injection.component.ActivityComponent;
+import org.apache.taverna.mobile.injection.module.ActivityModule;
import org.apache.taverna.mobile.ui.adapter.AnnouncementAdapter;
import org.apache.taverna.mobile.ui.adapter.EndlessRecyclerOnScrollListener;
import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
import org.apache.taverna.mobile.utils.ScrollChildSwipeRefreshLayout;
@@ -48,15 +51,23 @@ import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.TextView;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
-
public class AnnouncementFragment extends Fragment implements RecyclerItemClickListner
.OnItemClickListener, AnnouncementMvpView {
public final String LOG_TAG = getClass().getSimpleName();
+ @Inject
+ DataManager dataManager;
+ @Inject
+ AnnouncementPresenter mAnnouncementPresenter;
+
+ AnnouncementAdapter mAnnouncementAdapter;
+
@BindView(R.id.rv_movies)
RecyclerView mRecyclerView;
@@ -72,12 +83,6 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
private Announcements mAnnouncements;
- private DataManager dataManager;
-
- private AnnouncementPresenter mAnnouncementPresenter;
-
- private AnnouncementAdapter mAnnouncementAdapter;
-
private int mPageNumber = 1;
private DetailAnnouncement mAnnouncementDetail;
@@ -101,10 +106,7 @@ public class AnnouncementFragment extends Fragment implements RecyclerItemClickL
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
-
- mAnnouncements = new Announcements();
- dataManager = new DataManager();
- mAnnouncementPresenter = new AnnouncementPresenter(dataManager);
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
setHasOptionsMenu(true);
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
index 633d544..6045e82 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/anouncements/AnnouncementPresenter.java
@@ -29,6 +29,8 @@ import org.apache.taverna.mobile.ui.base.BasePresenter;
import java.util.HashMap;
import java.util.Map;
+import javax.inject.Inject;
+
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
@@ -41,6 +43,7 @@ public class AnnouncementPresenter extends BasePresenter<AnnouncementMvpView> {
private DataManager mDataManager;
private CompositeDisposable compositeDisposable;
+ @Inject
public AnnouncementPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/base/BaseActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/base/BaseActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/base/BaseActivity.java
new file mode 100644
index 0000000..37710b7
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/base/BaseActivity.java
@@ -0,0 +1,27 @@
+package org.apache.taverna.mobile.ui.base;
+
+import org.apache.taverna.mobile.TavernaApplication;
+import org.apache.taverna.mobile.injection.component.ActivityComponent;
+import org.apache.taverna.mobile.injection.component.DaggerActivityComponent;
+import org.apache.taverna.mobile.injection.module.ActivityModule;
+
+import android.support.v7.app.AppCompatActivity;
+
+/**
+ * @author lusifer
+ */
+public class BaseActivity extends AppCompatActivity {
+
+ private ActivityComponent activityComponent;
+
+
+ public ActivityComponent getActivityComponent() {
+ if (activityComponent == null) {
+ activityComponent = DaggerActivityComponent.builder()
+ .activityModule(new ActivityModule(this))
+ .applicationComponent(TavernaApplication.get(this).getComponent())
+ .build();
+ }
+ return activityComponent;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsActivity.java
index a8cceef..898322c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsActivity.java
@@ -9,12 +9,13 @@ import android.view.Menu;
import android.view.MenuItem;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ActivityUtils;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class FavouriteWorkflowsActivity extends AppCompatActivity {
+public class FavouriteWorkflowsActivity extends BaseActivity {
@BindView(R.id.toolbar)
Toolbar mToolbar;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
index d988d78..8f0c4ab 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsFragment.java
@@ -18,12 +18,12 @@
*/
package org.apache.taverna.mobile.ui.favouriteworkflow;
-
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.model.Workflow;
import org.apache.taverna.mobile.ui.adapter.FavouriteWorkflowsAdapter;
import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.ui.favouriteworkflowdetail.FavouriteWorkflowDetailActivity;
import org.apache.taverna.mobile.utils.Constants;
@@ -50,6 +50,8 @@ import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -58,6 +60,10 @@ public class FavouriteWorkflowsFragment extends Fragment
public final String LOG_TAG = getClass().getSimpleName();
+ @Inject DataManager dataManager;
+ @Inject FavouriteWorkflowsPresenter mFavouriteWorkflowsPresenter;
+ FavouriteWorkflowsAdapter mFavouriteWorkflowsAdapter;
+ FavouriteWorkflowsAdapter mSearchFavouriteWorkflowAdapter;
@BindView(R.id.rv_fav_workflows)
RecyclerView mRecyclerView;
@@ -68,25 +74,13 @@ public class FavouriteWorkflowsFragment extends Fragment
@BindView(R.id.layout_empty_fav_workflow)
RelativeLayout tvNoWorkflowError;
- private DataManager dataManager;
-
- private FavouriteWorkflowsPresenter mFavouriteWorkflowsPresenter;
-
- private FavouriteWorkflowsAdapter mFavouriteWorkflowsAdapter;
-
- private List<Workflow> mWorkflowList;
+ List<Workflow> mWorkflowList;
private SearchView searchView;
- private FavouriteWorkflowsAdapter mSearchFavouriteWorkflowAdapter;
-
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- dataManager = new DataManager();
-
- mFavouriteWorkflowsPresenter = new FavouriteWorkflowsPresenter(dataManager);
-
mWorkflowList = new ArrayList<>();
setHasOptionsMenu(true);
}
@@ -97,7 +91,7 @@ public class FavouriteWorkflowsFragment extends Fragment
View rootView = inflater.inflate(R.layout.fragment_favourite_workflow_list,
container, false);
-
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mFavouriteWorkflowsPresenter.attachView(this);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsPresenter.java
index f0ab7bf..093545e 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflow/FavouriteWorkflowsPresenter.java
@@ -28,12 +28,13 @@ import org.apache.taverna.mobile.utils.RxSearch;
import java.util.List;
import java.util.concurrent.TimeUnit;
+import javax.inject.Inject;
+
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
-
public class FavouriteWorkflowsPresenter extends BasePresenter<FavouriteWorkflowsMvpView> {
public final String LOG_TAG = getClass().getSimpleName();
@@ -41,6 +42,7 @@ public class FavouriteWorkflowsPresenter extends BasePresenter<FavouriteWorkflow
private DataManager mDataManager;
private CompositeDisposable compositeDisposable;
+ @Inject
public FavouriteWorkflowsPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailActivity.java
index 6e84a9e..5e102d9 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailActivity.java
@@ -26,12 +26,13 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.Constants;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class FavouriteWorkflowDetailActivity extends AppCompatActivity {
+public class FavouriteWorkflowDetailActivity extends BaseActivity {
@BindView(R.id.toolbar)
Toolbar mToolbar;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java
index de44e59..2da966c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailFragment.java
@@ -50,12 +50,15 @@ import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.model.License;
import org.apache.taverna.mobile.data.model.User;
import org.apache.taverna.mobile.data.model.Workflow;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.ui.imagezoom.ImageZoomActivity;
import org.apache.taverna.mobile.ui.imagezoom.ImageZoomFragment;
import org.apache.taverna.mobile.ui.workflowrun.WorkflowRunActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
import org.apache.taverna.mobile.utils.Constants;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
@@ -67,6 +70,9 @@ public class FavouriteWorkflowDetailFragment extends Fragment
public final String LOG_TAG = getClass().getSimpleName();
+ @Inject DataManager dataManager;
+ @Inject FavouriteWorkflowDetailPresenter mWorkflowDetailPresenter;
+
@BindView(R.id.ivWorkflowImage)
ImageView workflowImage;
@@ -105,10 +111,6 @@ public class FavouriteWorkflowDetailFragment extends Fragment
private AlertDialog alertDialog;
- private DataManager dataManager;
-
- private FavouriteWorkflowDetailPresenter mWorkflowDetailPresenter;
-
private String id;
private String licenceId = null;
@@ -136,8 +138,6 @@ public class FavouriteWorkflowDetailFragment extends Fragment
id = getArguments().getString(ID);
- dataManager = new DataManager();
- mWorkflowDetailPresenter = new FavouriteWorkflowDetailPresenter(dataManager);
}
@@ -146,7 +146,7 @@ public class FavouriteWorkflowDetailFragment extends Fragment
savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_detail_workflow, container, false);
-
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mWorkflowDetailPresenter.attachView(this);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailPresenter.java
index fe03548..d02d058 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/favouriteworkflowdetail/FavouriteWorkflowDetailPresenter.java
@@ -27,6 +27,8 @@ import org.apache.taverna.mobile.ui.base.BasePresenter;
import java.util.HashMap;
import java.util.Map;
+import javax.inject.Inject;
+
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
@@ -40,6 +42,7 @@ public class FavouriteWorkflowDetailPresenter extends
private DataManager mDataManager;
private CompositeDisposable compositeDisposable;
+ @Inject
public FavouriteWorkflowDetailPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java
index a49370c..3782973 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomActivity.java
@@ -24,11 +24,12 @@ import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ActivityUtils;
import butterknife.ButterKnife;
-public class ImageZoomActivity extends AppCompatActivity {
+public class ImageZoomActivity extends BaseActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java
index ad5680f..fcb2b41 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomFragment.java
@@ -40,8 +40,11 @@ import com.bumptech.glide.request.target.SizeReadyCallback;
import com.bumptech.glide.request.target.Target;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
@@ -55,6 +58,7 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView {
private static final String SERVER_ERROR = "Sever Error. Please try after sometime";
+ @Inject ImageZoomPresenter mImageZoomPresenter;
@BindView(R.id.ivWorkflowImage)
ImageView workflowImage;
@@ -68,10 +72,6 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView {
private String jpgURI;
- private ImageZoomPresenter mImageZoomPresenter;
-
-
-
public static ImageZoomFragment newInstance(String jpgURI, String svgURI) {
Bundle args = new Bundle();
args.putString(JPG_URI, jpgURI);
@@ -86,7 +86,6 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView {
super.onCreate(savedInstanceState);
svgURI = getArguments().getString(SVG_URI);
jpgURI = getArguments().getString(JPG_URI);
- mImageZoomPresenter = new ImageZoomPresenter();
}
@@ -95,7 +94,7 @@ public class ImageZoomFragment extends Fragment implements ImageZoomMvpView {
savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_image_zoom, container, false);
-
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mImageZoomPresenter.attachView(this);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java
index fd8d43d..426405a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/imagezoom/ImageZoomPresenter.java
@@ -43,11 +43,13 @@ import org.apache.taverna.mobile.utils.SvgDrawableTranscoder;
import java.io.InputStream;
-public class ImageZoomPresenter extends BasePresenter<ImageZoomMvpView> {
+import javax.inject.Inject;
+public class ImageZoomPresenter extends BasePresenter<ImageZoomMvpView> {
private GenericRequestBuilder<Uri, InputStream, SVG, PictureDrawable> requestBuilder;
+ @Inject
public ImageZoomPresenter() {
}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginActivity.java
index 61d2341..882095c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginActivity.java
@@ -22,10 +22,11 @@ import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ActivityUtils;
-public class LoginActivity extends AppCompatActivity {
+public class LoginActivity extends BaseActivity {
private static final String TAG = "LoginActivity";
@Override
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java
index 23b97b8..930cc2a 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginFragment.java
@@ -23,6 +23,7 @@ import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.local.PreferencesHelper;
import org.apache.taverna.mobile.ui.DashboardActivity;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
import android.app.ProgressDialog;
@@ -44,12 +45,17 @@ import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.EditText;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocusChangeListener {
+ @Inject DataManager dataManager;
+ @Inject LoginPresenter mLoginPresenter;
+
@BindView(R.id.etEmail)
EditText mEditTextEmail;
@@ -65,15 +71,10 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu
@BindView(R.id.cbRemember)
CheckBox mCheckBoxRemember;
- private DataManager dataManager;
- private LoginPresenter mLoginPresenter;
-
-
private ProgressDialog progressDialog;
private final String myExperimentURL = "https://www.myexperiment.org/users/new";
-
public static LoginFragment newInstance() {
LoginFragment fragment = new LoginFragment();
@@ -85,9 +86,6 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu
super.onCreate(savedInstanceState);
- dataManager = new DataManager(new PreferencesHelper(getContext()));
- mLoginPresenter = new LoginPresenter(dataManager);
-
}
@Override
@@ -95,6 +93,7 @@ public class LoginFragment extends Fragment implements LoginMvpView, View.OnFocu
savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_login, container, false);
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mLoginPresenter.attachView(this);
return rootView;
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java
index 4b85914..e3fd901 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/login/LoginPresenter.java
@@ -25,12 +25,13 @@ import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.model.User;
import org.apache.taverna.mobile.ui.base.BasePresenter;
+import javax.inject.Inject;
+
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver;
import io.reactivex.schedulers.Schedulers;
-
public class LoginPresenter extends BasePresenter<LoginMvpView> {
public final String LOG_TAG = getClass().getSimpleName();
@@ -38,6 +39,7 @@ public class LoginPresenter extends BasePresenter<LoginMvpView> {
private DataManager mDataManager;
private CompositeDisposable compositeDisposable;
+ @Inject
public LoginPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowActivity.java
new file mode 100644
index 0000000..440af4f
--- /dev/null
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowActivity.java
@@ -0,0 +1,61 @@
+package org.apache.taverna.mobile.ui.myworkflows;
+
+import android.support.annotation.Nullable;
+import android.support.v7.app.ActionBar;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.support.v7.widget.Toolbar;
+import android.view.Menu;
+import android.view.MenuItem;
+
+import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
+import org.apache.taverna.mobile.utils.ActivityUtils;
+
+import butterknife.BindView;
+import butterknife.ButterKnife;
+
+public class MyWorkflowActivity extends BaseActivity {
+
+ @BindView(R.id.toolbar)
+ Toolbar mToolbar;
+
+ @Override
+ protected void onCreate(@Nullable Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_my_workflows);
+
+ ButterKnife.bind(this);
+
+ setSupportActionBar(mToolbar);
+ ActionBar actionbar = getSupportActionBar();
+
+ if (actionbar != null) {
+ actionbar.setHomeButtonEnabled(true);
+ actionbar.setDisplayHomeAsUpEnabled(true);
+ actionbar.setTitle(R.string.title_nav_my_workflows);
+ }
+
+ if (savedInstanceState == null) {
+ ActivityUtils.addFragmentToActivity(getSupportFragmentManager(),
+ new MyWorkflowFragment(), R.id.frame_container);
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ getMenuInflater().inflate(R.menu.dashboard_main, menu);
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ finish();
+ return true;
+ }
+ return super.onOptionsItemSelected(item);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java
index 0247d90..3f890dc 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowFragment.java
@@ -24,6 +24,7 @@ import org.apache.taverna.mobile.data.local.PreferencesHelper;
import org.apache.taverna.mobile.data.model.Workflow;
import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
import org.apache.taverna.mobile.ui.adapter.WorkflowAdapter;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.ui.workflowdetail.WorkflowDetailActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
import org.apache.taverna.mobile.utils.ScrollChildSwipeRefreshLayout;
@@ -47,6 +48,8 @@ import android.widget.RelativeLayout;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -55,6 +58,10 @@ public class MyWorkflowFragment extends Fragment implements MyWorkflowMvpView,
public final String LOG_TAG = getClass().getSimpleName();
+ @Inject DataManager dataManager;
+ @Inject MyWorkflowPresenter mWorkflowPresenter;
+ WorkflowAdapter mWorkflowAdapter;
+
@BindView(R.id.rv_workflows)
RecyclerView mRecyclerView;
@@ -67,13 +74,6 @@ public class MyWorkflowFragment extends Fragment implements MyWorkflowMvpView,
@BindView(R.id.layout_empty_workflows)
RelativeLayout mTextViewNoWorkflow;
- private DataManager dataManager;
-
- private MyWorkflowPresenter mWorkflowPresenter;
-
- private WorkflowAdapter mWorkflowAdapter;
-
-
private List<Workflow> mWorkflowList;
@Override
@@ -82,9 +82,6 @@ public class MyWorkflowFragment extends Fragment implements MyWorkflowMvpView,
mWorkflowList = new ArrayList<>();
- dataManager = new DataManager(new PreferencesHelper(getContext()));
-
- mWorkflowPresenter = new MyWorkflowPresenter(dataManager);
setHasOptionsMenu(true);
}
@@ -94,7 +91,7 @@ public class MyWorkflowFragment extends Fragment implements MyWorkflowMvpView,
savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_dashboard, container, false);
-
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mWorkflowPresenter.attachView(this);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java
index 2fea21c..0107501 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowPresenter.java
@@ -28,6 +28,8 @@ import org.apache.taverna.mobile.ui.base.BasePresenter;
import java.util.HashMap;
import java.util.Map;
+import javax.inject.Inject;
+
import io.reactivex.Observable;
import io.reactivex.ObservableSource;
import io.reactivex.android.schedulers.AndroidSchedulers;
@@ -41,9 +43,9 @@ public class MyWorkflowPresenter extends BasePresenter<MyWorkflowMvpView> {
public final String LOG_TAG = getClass().getSimpleName();
private DataManager mDataManager;
-
private CompositeDisposable compositeDisposable;
+ @Inject
public MyWorkflowPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowsActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowsActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowsActivity.java
deleted file mode 100644
index 92aa528..0000000
--- a/app/src/main/java/org/apache/taverna/mobile/ui/myworkflows/MyWorkflowsActivity.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.apache.taverna.mobile.ui.myworkflows;
-
-import android.support.annotation.Nullable;
-import android.support.v7.app.ActionBar;
-import android.support.v7.app.AppCompatActivity;
-import android.os.Bundle;
-import android.support.v7.widget.Toolbar;
-import android.view.Menu;
-import android.view.MenuItem;
-
-import org.apache.taverna.mobile.R;
-import org.apache.taverna.mobile.utils.ActivityUtils;
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-
-public class MyWorkflowsActivity extends AppCompatActivity {
-
- @BindView(R.id.toolbar)
- Toolbar mToolbar;
-
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_my_workflows);
-
- ButterKnife.bind(this);
-
- setSupportActionBar(mToolbar);
- ActionBar actionbar = getSupportActionBar();
-
- if (actionbar != null) {
- actionbar.setHomeButtonEnabled(true);
- actionbar.setDisplayHomeAsUpEnabled(true);
- actionbar.setTitle(R.string.title_nav_my_workflows);
- }
-
- if (savedInstanceState == null) {
- ActivityUtils.addFragmentToActivity(getSupportFragmentManager(),
- new MyWorkflowFragment(), R.id.frame_container);
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- getMenuInflater().inflate(R.menu.dashboard_main, menu);
- return true;
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- finish();
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
index 6c78ca8..3195f93 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginFragment.java
@@ -22,6 +22,7 @@ package org.apache.taverna.mobile.ui.playerlogin;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.local.PreferencesHelper;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
import android.content.Context;
@@ -39,6 +40,8 @@ import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.EditText;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
@@ -47,6 +50,9 @@ import butterknife.OnClick;
public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView, View
.OnFocusChangeListener {
+ @Inject DataManager dataManager;
+ @Inject PlayerLoginPresenter mPlayerLoginPresenter;
+
@BindView(R.id.etEmail)
EditText mEditTextEmail;
@@ -62,13 +68,10 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
@BindView(R.id.cbRemember)
CheckBox mCheckBoxRemember;
OnSuccessful mCallback;
- private DataManager dataManager;
- private PlayerLoginPresenter mPlayerLoginPresenter;
public static PlayerLoginFragment newInstance() {
Bundle args = new Bundle();
-
PlayerLoginFragment fragment = new PlayerLoginFragment();
fragment.setArguments(args);
return fragment;
@@ -78,8 +81,6 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- dataManager = new DataManager(new PreferencesHelper(getContext()));
- mPlayerLoginPresenter = new PlayerLoginPresenter(dataManager);
}
@@ -88,6 +89,7 @@ public class PlayerLoginFragment extends Fragment implements PlayerLoginMvpView,
savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_player_login_layout, container, false);
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mPlayerLoginPresenter.attachView(this);
String email = dataManager.getPreferencesHelper().getPlayerUserEmail();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
index b8a4d65..b75a9d0 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/playerlogin/PlayerLoginPresenter.java
@@ -25,6 +25,8 @@ import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.ui.base.BasePresenter;
+import javax.inject.Inject;
+
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver;
@@ -39,6 +41,7 @@ public class PlayerLoginPresenter extends BasePresenter<PlayerLoginMvpView> {
private DataManager mDataManager;
private CompositeDisposable compositeDisposable;
+ @Inject
public PlayerLoginPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/tutorial/TutorialActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/tutorial/TutorialActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/tutorial/TutorialActivity.java
index 23b11f0..1efaa9c 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/tutorial/TutorialActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/tutorial/TutorialActivity.java
@@ -33,14 +33,16 @@ import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.local.PreferencesHelper;
import org.apache.taverna.mobile.data.model.TutorialSliderEnum;
import org.apache.taverna.mobile.ui.adapter.TutorialSliderAdapter;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.ui.login.LoginActivity;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
-
-public class TutorialActivity extends AppCompatActivity implements ViewPager.OnPageChangeListener {
+public class TutorialActivity extends BaseActivity implements ViewPager.OnPageChangeListener {
@BindView(R.id.slide_pager)
ViewPager slidePager;
@@ -54,12 +56,13 @@ public class TutorialActivity extends AppCompatActivity implements ViewPager.OnP
@BindView(R.id.btn_next)
Button bNext;
- private PreferencesHelper preferencesHelper;
+ @Inject
+ PreferencesHelper preferencesHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- preferencesHelper = new PreferencesHelper(this);
+ getActivityComponent().inject(this);
setContentView(R.layout.activity_tutorial);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileActivity.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileActivity.java b/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileActivity.java
index 9e3719f..437fd47 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileActivity.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileActivity.java
@@ -26,11 +26,12 @@ import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import org.apache.taverna.mobile.R;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.utils.ActivityUtils;
import butterknife.BindView;
import butterknife.ButterKnife;
-public class UserProfileActivity extends AppCompatActivity {
+public class UserProfileActivity extends BaseActivity {
@BindView(R.id.toolbar)
Toolbar mToolbar;
@@ -55,7 +56,6 @@ public class UserProfileActivity extends AppCompatActivity {
ActivityUtils.addFragmentToActivity(getSupportFragmentManager(),
new UserProfileFragment(), R.id.frame_container);
}
-
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileFragment.java
index c80a17e..de266f2 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/userprofile/UserProfileFragment.java
@@ -17,8 +17,11 @@ import com.bumptech.glide.request.target.SimpleTarget;
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.local.PreferencesHelper;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.ui.favouriteworkflow.FavouriteWorkflowsActivity;
-import org.apache.taverna.mobile.ui.myworkflows.MyWorkflowsActivity;
+import org.apache.taverna.mobile.ui.myworkflows.MyWorkflowActivity;
+
+import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -27,6 +30,8 @@ import de.hdodenhof.circleimageview.CircleImageView;
public class UserProfileFragment extends Fragment {
+ @Inject DataManager dataManager;
+
@BindView(R.id.user_name)
TextView mUserName;
@@ -48,8 +53,6 @@ public class UserProfileFragment extends Fragment {
@BindView(R.id.user_country)
TextView mUserCountry;
- private DataManager dataManager;
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_user_profile, parent, false);
@@ -58,6 +61,7 @@ public class UserProfileFragment extends Fragment {
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, view);
setUserDetail();
@@ -66,7 +70,7 @@ public class UserProfileFragment extends Fragment {
@OnClick(R.id.my_workflow_layout)
void myWorkflows(View v) {
- Intent intent = new Intent(getActivity(), MyWorkflowsActivity.class);
+ Intent intent = new Intent(getActivity(), MyWorkflowActivity.class);
getActivity().startActivity(intent);
}
@@ -78,8 +82,6 @@ public class UserProfileFragment extends Fragment {
private void setUserDetail() {
- dataManager = new DataManager(new PreferencesHelper(getContext()));
-
String userName = dataManager.getPreferencesHelper().getUserName();
String userDescription = dataManager.getPreferencesHelper().getUserDescription();
String userEmail = dataManager.getPreferencesHelper().getUserEmail();
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowFragment.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowFragment.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowFragment.java
index ddd9b0b..b87b947 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowFragment.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowFragment.java
@@ -18,7 +18,6 @@
*/
package org.apache.taverna.mobile.ui.workflow;
-
import org.apache.taverna.mobile.R;
import org.apache.taverna.mobile.data.DataManager;
import org.apache.taverna.mobile.data.model.Workflow;
@@ -26,6 +25,7 @@ import org.apache.taverna.mobile.data.model.Workflows;
import org.apache.taverna.mobile.ui.adapter.EndlessRecyclerOnScrollListener;
import org.apache.taverna.mobile.ui.adapter.RecyclerItemClickListner;
import org.apache.taverna.mobile.ui.adapter.WorkflowAdapter;
+import org.apache.taverna.mobile.ui.base.BaseActivity;
import org.apache.taverna.mobile.ui.workflowdetail.WorkflowDetailActivity;
import org.apache.taverna.mobile.utils.ConnectionInfo;
import org.apache.taverna.mobile.utils.Constants;
@@ -53,6 +53,8 @@ import android.widget.ProgressBar;
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+
import butterknife.BindView;
import butterknife.ButterKnife;
@@ -61,6 +63,11 @@ public class WorkflowFragment extends Fragment implements WorkflowMvpView,
public final String LOG_TAG = getClass().getSimpleName();
+ @Inject
+ WorkflowPresenter mWorkflowPresenter;
+ WorkflowAdapter mWorkflowAdapter;
+ WorkflowAdapter mSearchWorkflowAdapter;
+
@BindView(R.id.rv_workflows)
RecyclerView mRecyclerView;
@@ -70,10 +77,6 @@ public class WorkflowFragment extends Fragment implements WorkflowMvpView,
@BindView(R.id.swipe_refresh)
ScrollChildSwipeRefreshLayout mSwipeRefresh;
- private WorkflowPresenter mWorkflowPresenter;
- private WorkflowAdapter mWorkflowAdapter;
- private WorkflowAdapter mSearchWorkflowAdapter;
-
private int mPageNumber = 1;
private int mSearchPageNumber = 1;
@@ -87,8 +90,6 @@ public class WorkflowFragment extends Fragment implements WorkflowMvpView,
super.onCreate(savedInstanceState);
mWorkflowList = new ArrayList<>();
mSearchWorkflowList = new ArrayList<>();
- DataManager dataManager = new DataManager();
- mWorkflowPresenter = new WorkflowPresenter(dataManager);
setHasOptionsMenu(true);
}
@@ -96,6 +97,7 @@ public class WorkflowFragment extends Fragment implements WorkflowMvpView,
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_dashboard, container, false);
+ ((BaseActivity) getActivity()).getActivityComponent().inject(this);
ButterKnife.bind(this, rootView);
mWorkflowPresenter.attachView(this);
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/c421e709/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
----------------------------------------------------------------------
diff --git a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
index 18a166a..24d0827 100644
--- a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
+++ b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowPresenter.java
@@ -32,6 +32,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
+import javax.inject.Inject;
+
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.CompositeDisposable;
import io.reactivex.observers.DisposableObserver;
@@ -40,10 +42,11 @@ import io.reactivex.schedulers.Schedulers;
public class WorkflowPresenter extends BasePresenter<WorkflowMvpView> {
public final String LOG_TAG = WorkflowPresenter.class.getSimpleName();
+
private DataManager mDataManager;
private CompositeDisposable compositeDisposable;
-
+ @Inject
public WorkflowPresenter(DataManager dataManager) {
mDataManager = dataManager;
compositeDisposable = new CompositeDisposable();