Glide Image loading fix and placeholder size fixed.

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/d6dd0904
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/tree/d6dd0904
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/diff/d6dd0904

Branch: refs/heads/master
Commit: d6dd0904d36581063597939634d02f2e43bc6fac
Parents: 08342b6
Author: Rajan Maurya <[email protected]>
Authored: Tue Nov 1 16:03:36 2016 +0530
Committer: Rajan Maurya <[email protected]>
Committed: Tue Nov 1 16:03:36 2016 +0530

----------------------------------------------------------------------
 .../mobile/ui/adapter/WorkflowAdapter.java      | 17 +++-
 .../mobile/ui/workflow/WorkflowFragment.java    | 22 +++--
 .../mobile/ui/workflow/WorkflowMvpView.java     |  4 +-
 .../mobile/ui/workflow/WorkflowPresenter.java   |  6 +-
 .../workflowdetail/WorkflowDetailFragment.java  | 11 ++-
 .../res/layout/item_recyclerview_dashboard.xml  | 95 --------------------
 .../main/res/layout/item_workflow_dashboard.xml | 95 ++++++++++++++++++++
 app/src/main/res/menu/drawer_view.xml           |  2 +-
 app/src/main/res/values/strings.xml             |  1 +
 9 files changed, 141 insertions(+), 112 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/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 cb06667..0384761 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
@@ -37,6 +37,9 @@ import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.bumptech.glide.load.resource.drawable.GlideDrawable;
+import com.bumptech.glide.request.animation.GlideAnimation;
+import com.bumptech.glide.request.target.SimpleTarget;
 
 import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.data.model.Workflow;
@@ -74,7 +77,7 @@ public class WorkflowAdapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolde
 
         if (viewType == VIEW_ITEM) {
             View v = LayoutInflater.from(parent.getContext()).inflate(
-                    R.layout.item_recyclerview_dashboard, parent, false);
+                    R.layout.item_workflow_dashboard, parent, false);
             vh = new ViewHolder(v);
         } else {
             View v = LayoutInflater.from(parent.getContext()).inflate(
@@ -85,7 +88,7 @@ public class WorkflowAdapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolde
     }
 
     @Override
-    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) 
{
+    public void onBindViewHolder(final RecyclerView.ViewHolder holder, int 
position) {
         if (holder instanceof ViewHolder) {
 
             Workflow workflow = mWorkflowList.get(position);
@@ -104,7 +107,15 @@ public class WorkflowAdapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolde
                     .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                     .placeholder(R.drawable.placeholder)
                     .error(R.drawable.placeholder)
-                    .into(((ViewHolder) holder).ivWorkflowImage);
+                    .into(new SimpleTarget<GlideDrawable>() {
+                        @Override
+                        public void onResourceReady(GlideDrawable resource,
+                                GlideAnimation<? super GlideDrawable> 
glideAnimation) {
+                            ((ViewHolder) 
holder).ivWorkflowImage.setImageDrawable(resource);
+                            ((ViewHolder) holder).ivWorkflowImage
+                                    .setScaleType(ImageView.ScaleType.FIT_XY);
+                        }
+                    });
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/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 d04b15d..397a43c 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
@@ -99,12 +99,11 @@ public class WorkflowFragment extends Fragment implements 
WorkflowMvpView,
             public void onLoadMore(int current_page) {
                 if (ConnectionInfo.isConnectingToInternet(getContext())
                         && mWorkflowList.size() % 10 == 0) {
-                    mWorkflowList.add(null);
-                    mWorkflowAdapter.notifyItemInserted(mWorkflowList.size());
+                    addLoadMoreProgressbar();
                     ++mPageNumber;
                     mWorkflowPresenter.loadAllWorkflow(mPageNumber);
                 } else if 
(!ConnectionInfo.isConnectingToInternet(getContext())) {
-                    
showSnackBar(getActivity().getString(R.string.no_internet_connection));
+                    showSnackBar(R.string.no_internet_connection);
                 }
             }
         });
@@ -124,7 +123,7 @@ public class WorkflowFragment extends Fragment implements 
WorkflowMvpView,
             mWorkflowPresenter.loadAllWorkflow(mPageNumber);
             mSwipeRefresh.setRefreshing(true);
         } else {
-            
showSnackBar(getActivity().getString(R.string.no_internet_connection));
+            showSnackBar(R.string.no_internet_connection);
             if (mSwipeRefresh.isRefreshing()) {
                 mSwipeRefresh.setRefreshing(false);
             }
@@ -133,19 +132,17 @@ public class WorkflowFragment extends Fragment implements 
WorkflowMvpView,
 
     @Override
     public void showProgressbar(boolean show) {
-        mSwipeRefresh.setRefreshing(show);
         if (show && mWorkflowAdapter.getItemCount() == 0) {
             mProgressBar.setVisibility(View.VISIBLE);
-            mSwipeRefresh.setRefreshing(false);
         } else {
             mProgressBar.setVisibility(View.GONE);
         }
-
     }
 
     @Override
-    public void showSnackBar(String message) {
-        final Snackbar snackbar = Snackbar.make(mRecyclerView, message, 
Snackbar.LENGTH_INDEFINITE);
+    public void showSnackBar(int message) {
+        final Snackbar snackbar = Snackbar.make(mRecyclerView, 
getActivity().getString(message),
+                Snackbar.LENGTH_INDEFINITE);
         snackbar.setAction(getActivity().getString(R.string.ok), new 
View.OnClickListener() {
             @Override
             public void onClick(View view) {
@@ -158,6 +155,7 @@ public class WorkflowFragment extends Fragment implements 
WorkflowMvpView,
     @Override
     public void showWorkflows(Workflows workflows) {
         if (mPageNumber == 1) {
+            mSwipeRefresh.setRefreshing(false);
             mWorkflowList.clear();
         }
         mWorkflowList.addAll(workflows.getWorkflowList());
@@ -173,6 +171,12 @@ public class WorkflowFragment extends Fragment implements 
WorkflowMvpView,
     }
 
     @Override
+    public void addLoadMoreProgressbar() {
+        mWorkflowList.add(null);
+        mWorkflowAdapter.notifyItemInserted(mWorkflowList.size());
+    }
+
+    @Override
     public void onDestroyView() {
         super.onDestroyView();
         mWorkflowPresenter.detachView();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowMvpView.java
----------------------------------------------------------------------
diff --git 
a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowMvpView.java 
b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowMvpView.java
index 2d09336..1faa937 100644
--- 
a/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowMvpView.java
+++ 
b/app/src/main/java/org/apache/taverna/mobile/ui/workflow/WorkflowMvpView.java
@@ -26,9 +26,11 @@ public interface WorkflowMvpView extends MvpView {
 
     void showProgressbar(boolean b);
 
-    void showSnackBar(String message);
+    void showSnackBar(int message);
 
     void showWorkflows(Workflows workflows);
 
     void removeLoadMoreProgressbar();
+
+    void addLoadMoreProgressbar();
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/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 22192f7..51ac057 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
@@ -18,6 +18,7 @@
  */
 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.Workflows;
 import org.apache.taverna.mobile.ui.base.BasePresenter;
@@ -67,14 +68,15 @@ public class WorkflowPresenter extends 
BasePresenter<WorkflowMvpView> {
                     @Override
                     public void onError(Throwable e) {
                         getMvpView().showProgressbar(false);
-                        getMvpView().showSnackBar("Failed to load workflow");
+                        
getMvpView().showSnackBar(R.string.error_failed_to_fetch_workflow);
+                        getMvpView().removeLoadMoreProgressbar();
                     }
 
                     @Override
                     public void onNext(Workflows workflows) {
+                        getMvpView().showProgressbar(false);
                         getMvpView().removeLoadMoreProgressbar();
                         getMvpView().showWorkflows(workflows);
-                        getMvpView().showProgressbar(false);
                     }
                 });
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java
----------------------------------------------------------------------
diff --git 
a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java
 
b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java
index f2e6a63..791c45a 100644
--- 
a/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java
+++ 
b/app/src/main/java/org/apache/taverna/mobile/ui/workflowdetail/WorkflowDetailFragment.java
@@ -43,6 +43,9 @@ import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.bumptech.glide.load.resource.drawable.GlideDrawable;
+import com.bumptech.glide.request.animation.GlideAnimation;
+import com.bumptech.glide.request.target.SimpleTarget;
 
 import org.apache.taverna.mobile.R;
 import org.apache.taverna.mobile.data.DataManager;
@@ -245,7 +248,13 @@ public class WorkflowDetailFragment extends Fragment 
implements WorkflowDetailMv
                 .diskCacheStrategy(DiskCacheStrategy.SOURCE)
                 .placeholder(R.drawable.placeholder)
                 .error(R.drawable.placeholder)
-                .into(workflowImage);
+                .into(new SimpleTarget<GlideDrawable>() {
+                    @Override
+                    public void onResourceReady(GlideDrawable resource,
+                            GlideAnimation<? super GlideDrawable> 
glideAnimation) {
+                        workflowImage.setImageDrawable(resource);
+                    }
+                });
 
         if (workflow.getLicenseType().getId() == null) {
             licenceId = "";

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/app/src/main/res/layout/item_recyclerview_dashboard.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/item_recyclerview_dashboard.xml 
b/app/src/main/res/layout/item_recyclerview_dashboard.xml
deleted file mode 100644
index 0785e1b..0000000
--- a/app/src/main/res/layout/item_recyclerview_dashboard.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-   Licensed to the Apache Software Foundation (ASF) under one or more
-   contributor license agreements.  See the NOTICE file distributed with
-   this work for additional information regarding copyright ownership.
-   The ASF licenses this file to You under the Apache License, Version 2.0
-   (the "License"); you may not use this file except in compliance with
-   the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
--->
-<android.support.v7.widget.CardView
-        xmlns:android="http://schemas.android.com/apk/res/android";
-        xmlns:app="http://schemas.android.com/apk/res-auto";
-        android:orientation="vertical"
-        android:layout_width="match_parent"
-        android:layout_margin="5dp"
-        android:layout_height="250dp"
-        app:cardCornerRadius="5dp"
-        app:cardElevation="1dp">
-    <RelativeLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-        <ImageView
-                android:id="@+id/ivWorkflowImage"
-                android:layout_width="match_parent"
-                android:layout_height="300dp"
-                android:scaleType="fitXY"
-                android:src="@drawable/sliding_header"/>
-        <TextView
-                android:background="@color/black_background"
-                android:id="@+id/tvUploader"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_alignBottom="@id/ivWorkflowImage"
-                android:text="Uploader"
-                android:paddingLeft="10dp"
-                android:paddingStart="10dp"
-                android:paddingRight="0dp"
-                android:paddingEnd="0dp"
-                android:paddingBottom="5dp"
-                android:textSize="14sp"
-                android:textColor="@android:color/white"/>
-        <TextView
-                android:background="@color/black_background"
-                android:id="@+id/tvDate"
-                android:layout_above="@id/tvUploader"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="date"
-                android:paddingLeft="10dp"
-                android:paddingStart="10dp"
-                android:paddingRight="0dp"
-                android:paddingEnd="0dp"
-                android:paddingBottom="5dp"
-                android:textSize="14sp"
-                android:textColor="@android:color/white"/>
-        <TextView
-                android:background="@color/black_background"
-                android:id="@+id/tvType"
-                android:layout_above="@id/tvDate"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="type"
-                android:paddingLeft="10dp"
-                android:paddingStart="10dp"
-                android:paddingRight="0dp"
-                android:paddingEnd="0dp"
-                android:paddingBottom="5dp"
-                android:textSize="16sp"
-                android:textColor="@android:color/white"/>
-        <TextView
-                android:background="@color/black_background"
-                android:id="@+id/tvTitle"
-                android:layout_above="@id/tvType"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:text="type"
-                android:paddingLeft="10dp"
-                android:paddingStart="10dp"
-                android:paddingRight="0dp"
-                android:paddingEnd="0dp"
-                android:paddingBottom="5dp"
-                android:singleLine="true"
-                android:ellipsize="end"
-                android:textSize="18sp"
-                android:textColor="@android:color/white"/>
-    </RelativeLayout>
-</android.support.v7.widget.CardView>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/app/src/main/res/layout/item_workflow_dashboard.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/layout/item_workflow_dashboard.xml 
b/app/src/main/res/layout/item_workflow_dashboard.xml
new file mode 100644
index 0000000..ba9f46b
--- /dev/null
+++ b/app/src/main/res/layout/item_workflow_dashboard.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<android.support.v7.widget.CardView
+        xmlns:android="http://schemas.android.com/apk/res/android";
+        xmlns:app="http://schemas.android.com/apk/res-auto";
+        android:orientation="vertical"
+        android:layout_width="match_parent"
+        android:layout_margin="5dp"
+        android:layout_height="250dp"
+        app:cardCornerRadius="5dp"
+        app:cardElevation="1dp">
+    <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+        <ImageView
+                android:id="@+id/ivWorkflowImage"
+                android:layout_width="match_parent"
+                android:layout_height="300dp"
+                android:scaleType="center"
+                android:src="@drawable/placeholder"/>
+        <TextView
+                android:background="@color/black_background"
+                android:id="@+id/tvUploader"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_alignBottom="@id/ivWorkflowImage"
+                android:text="Uploader"
+                android:paddingLeft="10dp"
+                android:paddingStart="10dp"
+                android:paddingRight="0dp"
+                android:paddingEnd="0dp"
+                android:paddingBottom="5dp"
+                android:textSize="14sp"
+                android:textColor="@android:color/white"/>
+        <TextView
+                android:background="@color/black_background"
+                android:id="@+id/tvDate"
+                android:layout_above="@id/tvUploader"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="date"
+                android:paddingLeft="10dp"
+                android:paddingStart="10dp"
+                android:paddingRight="0dp"
+                android:paddingEnd="0dp"
+                android:paddingBottom="5dp"
+                android:textSize="14sp"
+                android:textColor="@android:color/white"/>
+        <TextView
+                android:background="@color/black_background"
+                android:id="@+id/tvType"
+                android:layout_above="@id/tvDate"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="type"
+                android:paddingLeft="10dp"
+                android:paddingStart="10dp"
+                android:paddingRight="0dp"
+                android:paddingEnd="0dp"
+                android:paddingBottom="5dp"
+                android:textSize="16sp"
+                android:textColor="@android:color/white"/>
+        <TextView
+                android:background="@color/black_background"
+                android:id="@+id/tvTitle"
+                android:layout_above="@id/tvType"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="type"
+                android:paddingLeft="10dp"
+                android:paddingStart="10dp"
+                android:paddingRight="0dp"
+                android:paddingEnd="0dp"
+                android:paddingBottom="5dp"
+                android:singleLine="true"
+                android:ellipsize="end"
+                android:textSize="18sp"
+                android:textColor="@android:color/white"/>
+    </RelativeLayout>
+</android.support.v7.widget.CardView>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/app/src/main/res/menu/drawer_view.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/menu/drawer_view.xml 
b/app/src/main/res/menu/drawer_view.xml
index cc87881..1fcc2b7 100644
--- a/app/src/main/res/menu/drawer_view.xml
+++ b/app/src/main/res/menu/drawer_view.xml
@@ -34,7 +34,7 @@
         <item
             android:id="@+id/nav_announcement"
             android:icon="@drawable/ic_announcement_black_24dp"
-            android:title="@string/title_nav_all_workflows"/>
+            android:title="@string/title_nav_announcement"/>
     </group>
         <item
             android:id="@+id/nav_usage"

http://git-wip-us.apache.org/repos/asf/incubator-taverna-mobile/blob/d6dd0904/app/src/main/res/values/strings.xml
----------------------------------------------------------------------
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index 36fb07d..d063b3f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -162,6 +162,7 @@ limitations under the License.
     <string name="login_button_description">Login Button</string>
     <string name="err_login_email">Enter valid email</string>
     <string name="err_login_password">Enter valid password</string>
+    <string name="error_failed_to_fetch_workflow">Failed to fetch 
Workflow</string>
 
     <string name="no_my_workflow">You have not created any workflow yet 
!!!!!</string>
     <string name="error_vaild_credential">Please enter valid 
credential</string>

Reply via email to