If you return a View from here, you will later be called in
- * {@link #onDestroyView} when the view is being released.
- *
- * @param inflater The LayoutInflater object that can be used to inflate
- * any views in the fragment,
- * @param container If non-null, this is the parent view that the fragment's
- * UI should be attached to. The fragment should not
- * add the view itself,
- * but this can be used to generate the LayoutParams of the view.
- * @param savedInstanceState If non-null, this fragment is being re-constructed
- * from a previous saved state as given here.
- * @return Return the View for the fragment's UI, or null.
- */
- @Nullable
- @Override
- public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
- @Nullable Bundle savedInstanceState) {
- binding = DataBindingUtil.inflate(inflater, R.layout.fragment_asset_slider,
- container, false);
- setDetails();
- return binding.getRoot();
- }
-
- /**
- * Set asset details on card.
- */
- public void setDetails() {
- if (!getArguments().isEmpty()) {
- binding.assetType.setText(getArguments().getString("type"));
- binding.serial.setText(getArguments().getString("serial"));
- binding.tag.setText(getArguments().getString("tag"));
-
- if (getArguments().getString("serial").
- equals(getResources().getString(R.string.unassigned))) {
- //setTextAlignment and setGravity not responding hence setPadding
- binding.serial.setPadding(200, 0, 0, 0);
- binding.serial.setTextSize(16);
- binding.asset.setVisibility(View.GONE);
- binding.mac.setVisibility(View.GONE);
- }
- }
- }
-}
diff --git a/app/src/main/java/com/andela/art/userdashboard/presentation/PagerAdapter.java b/app/src/main/java/com/andela/art/userdashboard/presentation/PagerAdapter.java
deleted file mode 100644
index 91f7a36..0000000
--- a/app/src/main/java/com/andela/art/userdashboard/presentation/PagerAdapter.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.andela.art.userdashboard.presentation;
-
-import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentStatePagerAdapter;
-
-import com.andela.art.models.Asset;
-
-import java.util.List;
-
-/**
- * Created by zack on 5/11/18.
- */
-
-public class PagerAdapter extends FragmentStatePagerAdapter {
- private final List assets;
- private Asset asset;
- private int currentPosition;
-
- /**
- *
- * @param fm - fragment manager.
- * @param assets - list of assets fetched.
- */
- public PagerAdapter(FragmentManager fm, List assets) {
-
- super(fm);
- this.assets = assets;
- }
-
- /**
- * Return the Fragment associated with a specified position.
- *
- * @param position
- */
- @Override
- public Fragment getItem(int position) {
- AssetSliderFragment fragment = new AssetSliderFragment();
- asset = assets.get(position);
- Bundle bundle = new Bundle();
- currentPosition = position;
- bundle.putString("type", asset.getAssetType());
- bundle.putString("serial", asset.getSerialNumber());
- bundle.putString("tag", asset.getItemCode());
- fragment.setArguments(bundle);
- return fragment;
- }
-
- /**
- * Return the number of views available.
- */
- @Override
- public int getCount() {
- return assets.size();
- }
-
- /**
- * Called when the host view is attempting to determine if an item's position
- * has changed. Returns {@link #POSITION_UNCHANGED} if the position of the given
- * item has not changed or {@link #POSITION_NONE} if the item is no longer present
- * in the adapter.
- *
- *
The default implementation assumes that items will never
- * change position and always returns {@link #POSITION_UNCHANGED}.
- *
- * @param object Object representing an item, previously returned by a call.
- * @return object's new position index from [0, {@link #getCount()}),
- * {@link #POSITION_UNCHANGED} if the object's position has not changed,
- * or {@link #POSITION_NONE} if the item is no longer present.
- */
- @Override
- public int getItemPosition(Object object) {
- return PagerAdapter.POSITION_NONE;
- }
-
- /**
- * Get's the current fragment's position.
- * @return currentPosition - int CurrentPosition
- */
- public int getCurrentPosition() {
- return currentPosition;
- }
-}
diff --git a/app/src/main/java/com/andela/art/userdashboard/presentation/UserDashBoardActivity.java b/app/src/main/java/com/andela/art/userdashboard/presentation/UserDashBoardActivity.java
index f6fd06c..acc2474 100644
--- a/app/src/main/java/com/andela/art/userdashboard/presentation/UserDashBoardActivity.java
+++ b/app/src/main/java/com/andela/art/userdashboard/presentation/UserDashBoardActivity.java
@@ -4,19 +4,19 @@
import android.content.Intent;
import android.databinding.DataBindingUtil;
import android.net.Uri;
+import android.os.Bundle;
import android.os.Handler;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
-import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.SwipeRefreshLayout;
-import android.view.View;
+import android.support.v7.widget.GridLayoutManager;
+import android.support.v7.widget.RecyclerView;
import android.widget.Toast;
import com.andela.art.R;
import com.andela.art.api.UserAssetResponse;
import com.andela.art.databinding.FragmentActivityBinding;
-import com.andela.art.incidentreport.presentation.IncidentReportActivity;
import com.andela.art.models.Asset;
import com.andela.art.root.ApplicationComponent;
import com.andela.art.root.ApplicationModule;
@@ -27,7 +27,6 @@
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.firebase.auth.FirebaseUser;
-import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
@@ -39,7 +38,9 @@
public class UserDashBoardActivity extends BaseMenuActivity implements SliderView {
private static final String EXTRA_ACCOUNT_INFORMATION = "user_account";
- private PagerAdapter pagerAdapter;
+ private AssetAdapter assetAdapter;
+ private RecyclerView recyclerView;
+ private GridLayoutManager gridLayoutManager;
GoogleSignInAccount account;
FragmentActivityBinding binding;
String name, email;
@@ -98,10 +99,6 @@ protected void onCreate(Bundle savedInstanceState) {
profileFragment.setArguments(bundle);
fragmentTransaction.add(R.id.profile_container, profileFragment);
fragmentTransaction.commit();
- binding.incidentButton.setOnClickListener(v -> {
- binding.incidentButton.setBackground(getResources()
- .getDrawable(R.drawable.incident_button_clicked));
- });
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
@@ -178,7 +175,6 @@ public void onDisplayErrorMessage(Throwable error) {
}
String errorMessage = "Failed to load data. Please try again later.";
Toast.makeText(getApplicationContext(), errorMessage, Toast.LENGTH_LONG).show();
-
}
/**
@@ -193,22 +189,11 @@ public void onGetAssets(UserAssetResponse response) {
onEmptyAsset();
return;
}
- pagerAdapter = new PagerAdapter(fragmentManager, assets);
- binding.pager.setAdapter(pagerAdapter);
- binding.tabDots.setupWithViewPager(binding.pager, true);
- if (!assets.isEmpty()) {
- binding.incidentButton.setVisibility(View.VISIBLE);
- binding.incidentButton.setOnClickListener(view -> {
- int listPosition = binding.pager.getCurrentItem();
- Asset asset = assets.get(listPosition);
- Bundle bundle = new Bundle();
- bundle.putSerializable("asset", asset);
- Intent intent = new Intent(UserDashBoardActivity.this,
- IncidentReportActivity.class);
- intent.putExtras(bundle);
- startActivity(intent);
- });
- }
+ assetAdapter = new AssetAdapter(getApplicationContext(), assets);
+ recyclerView = findViewById(R.id.recycler);
+ recyclerView.setAdapter(assetAdapter);
+ gridLayoutManager = new GridLayoutManager(this, 1);
+ recyclerView.setLayoutManager(gridLayoutManager);
dismissDialog("200");
}
@@ -216,15 +201,7 @@ public void onGetAssets(UserAssetResponse response) {
* called when user is not assigned any asset.
*/
public void onEmptyAsset() {
- List asset = new ArrayList();
- Asset newAsset = new Asset();
- newAsset.setSerialNumber("NO ASSET ASSIGNED YET");
- asset.add(newAsset);
- pagerAdapter = new PagerAdapter(fragmentManager, asset);
- binding.pager.setAdapter(pagerAdapter);
- binding.tabDots.setupWithViewPager(binding.pager, true);
-
- binding.incidentButton.setVisibility(View.GONE);
+ Toast.makeText(getApplicationContext(), "NO ASSET ASSIGNED YET.", Toast.LENGTH_LONG);
dismissDialog("200");
}
diff --git a/app/src/main/res/layout/app_bar_navigation_drawer.xml b/app/src/main/res/layout/app_bar_navigation_drawer.xml
index 6fbc373..7e69d28 100644
--- a/app/src/main/res/layout/app_bar_navigation_drawer.xml
+++ b/app/src/main/res/layout/app_bar_navigation_drawer.xml
@@ -1,6 +1,5 @@
-
-
-
-
-
-
-
-
+ android:layout_below="@id/profile_container"
+ android:id="@+id/recycler">
+
diff --git a/app/src/main/res/layout/fragment_asset_slider.xml b/app/src/main/res/layout/fragment_asset_slider.xml
index 026dd5e..e43fd8f 100644
--- a/app/src/main/res/layout/fragment_asset_slider.xml
+++ b/app/src/main/res/layout/fragment_asset_slider.xml
@@ -1,88 +1,80 @@
-
+ android:id="@+id/card_view"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="#25252f"
+ android:layout_margin="4dp"
+ card_view:cardBackgroundColor="#5B5B64"
+ card_view:cardCornerRadius="4dp"
+ card_view:cardElevation="10dp">
-
+ android:layout_height="match_parent"
+ android:background="@android:color/transparent">
-
+ android:layout_toStartOf="@+id/linearLayout"
+ android:fontFamily="@font/avenir_heavy"
+ android:text="@string/Asset"
+ android:textColor="@color/cardHeader"
+ android:textSize="14sp" />
-
-
-
-
-
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_user_dashboard.xml b/app/src/main/res/layout/fragment_user_dashboard.xml
index e97753f..e25e497 100644
--- a/app/src/main/res/layout/fragment_user_dashboard.xml
+++ b/app/src/main/res/layout/fragment_user_dashboard.xml
@@ -1,7 +1,5 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+
-
+#3359DF#0834D0#49AAAF
diff --git a/app/src/mock/java/com/andela/art/login/LoginActivity.java b/app/src/mock/java/com/andela/art/login/LoginActivity.java
index b7fce2f..982d246 100644
--- a/app/src/mock/java/com/andela/art/login/LoginActivity.java
+++ b/app/src/mock/java/com/andela/art/login/LoginActivity.java
@@ -11,13 +11,13 @@
import android.widget.Toast;
import com.andela.art.R;
-import com.andela.art.root.ApplicationComponent;
import com.andela.art.databinding.ActivityLoginBinding;
import com.andela.art.login.injection.DaggerLoginComponent;
import com.andela.art.login.injection.LoginModule;
+import com.andela.art.root.ApplicationComponent;
import com.andela.art.root.ApplicationModule;
-import com.andela.art.securitydashboard.presentation.SecurityDashboardActivity;
import com.andela.art.root.ArtApplication;
+import com.andela.art.securitydashboard.presentation.SecurityDashboardActivity;
import com.google.android.gms.auth.api.signin.GoogleSignIn;
import com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.auth.api.signin.GoogleSignInClient;
diff --git a/app/src/mock/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java b/app/src/mock/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java
index 44460ea..2bca265 100644
--- a/app/src/mock/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java
+++ b/app/src/mock/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java
@@ -1,19 +1,19 @@
package com.andela.art.reportproblem.presentation;
import android.databinding.DataBindingUtil;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import com.andela.art.R;
import com.andela.art.databinding.ActivityReportProblemBinding;
import com.andela.art.models.ReportProblem;
+import com.andela.art.reportproblem.injection.DaggerReportProblemComponent;
+import com.andela.art.reportproblem.injection.ReportProblemModule;
import com.andela.art.root.ApplicationComponent;
import com.andela.art.root.ApplicationModule;
import com.andela.art.root.ArtApplication;
-import com.andela.art.reportproblem.injection.DaggerReportProblemComponent;
-import com.andela.art.reportproblem.injection.ReportProblemModule;
import com.google.firebase.auth.FirebaseAuth;
import javax.inject.Inject;
diff --git a/app/src/mock/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java b/app/src/mock/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java
index 9b9345a..81309ec 100644
--- a/app/src/mock/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java
+++ b/app/src/mock/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java
@@ -4,8 +4,8 @@
import android.os.Bundle;
import android.support.annotation.VisibleForTesting;
import android.support.v7.app.AppCompatActivity;
-import android.widget.Toast;
import android.view.View;
+import android.widget.Toast;
import com.andela.art.R;
import com.andela.art.databinding.ActivitySendFeedbackBinding;
diff --git a/app/src/prod/google-services.json b/app/src/prod/google-services.json
index 3d2ca50..49c3b48 100644
--- a/app/src/prod/google-services.json
+++ b/app/src/prod/google-services.json
@@ -14,6 +14,86 @@
}
},
"oauth_client": [
+ {
+ "client_id": "236168090156-csvfv3qep0pq8sk18mdcrthvuaqivrtq.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "99648d0d2a9efbe55859eb51b5ba42e34875529c"
+ }
+ },
+ {
+ "client_id": "236168090156-g2km3hl7167bmdqdnr19iah9qjosde7q.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "ccdf23c76658d1712afe589cb6caedb3f3ef2bd3"
+ }
+ },
+ {
+ "client_id": "236168090156-nj6h7tdnlromnteetg6c33kjvfp689gd.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "5f4e30913a5319c01be08dcbab80376bfeba2d10"
+ }
+ },
+ {
+ "client_id": "236168090156-psv4bc75ueoa1f56g5r6boe2alu5eu4t.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "098d14c9df54fe4c459f852888ac6562366f9afa"
+ }
+ },
+ {
+ "client_id": "236168090156-fmqn1sjrgkg5s547s81qulfib6en5ems.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "708470c1f69828708e322d01bb76b3f991b17665"
+ }
+ },
+ {
+ "client_id": "236168090156-ji032050aiptel369evgu0i2e9isllin.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "4baddb73b17df46f3a4c65cf4d9879a3fbc89a45"
+ }
+ },
+ {
+ "client_id": "236168090156-5ps4d1oseqqmq7o27tekrtcrrptopha6.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "8d0b94287a31b1025974c48dce8057c91fce0f12"
+ }
+ },
+ {
+ "client_id": "236168090156-1d9cnbm10mug1844jar075p7h067ami1.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "5354e10737c7cf28abffe0ba8dee4818ed341d63"
+ }
+ },
+ {
+ "client_id": "236168090156-vlk3nmtskanamb88b3k088p8tik1digm.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "70a52c532a450de07c86bdf7cb25db184ff7dae9"
+ }
+ },
+ {
+ "client_id": "236168090156-lvjn1oigbjg589a4f1uaqftelh8j2iu3.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "c2ded2211b15795cf389700c071b012d2b453339"
+ }
+ },
{
"client_id": "236168090156-9fmpppgjopfcr55vh87isjfm5e43ltc6.apps.googleusercontent.com",
"client_type": 1,
@@ -145,23 +225,16 @@
}
],
"services": {
- "analytics_service": {
- "status": 1
- },
"appinvite_service": {
- "status": 2,
"other_platform_oauth_client": [
{
"client_id": "236168090156-btj6h113flq4vsiknpsv8gs636rl6idr.apps.googleusercontent.com",
"client_type": 3
}
]
- },
- "ads_service": {
- "status": 2
}
}
}
],
"configuration_version": "1"
-}
+}
\ No newline at end of file
diff --git a/app/src/prod/java/com/andela/art/login/LoginActivity.java b/app/src/prod/java/com/andela/art/login/LoginActivity.java
index 7323ff5..596474f 100644
--- a/app/src/prod/java/com/andela/art/login/LoginActivity.java
+++ b/app/src/prod/java/com/andela/art/login/LoginActivity.java
@@ -26,16 +26,15 @@
import com.google.firebase.auth.AuthCredential;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.GoogleAuthProvider;
+import com.microsoft.appcenter.AppCenter;
+import com.microsoft.appcenter.analytics.Analytics;
+import com.microsoft.appcenter.crashes.Crashes;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
-import com.microsoft.appcenter.AppCenter;
-import com.microsoft.appcenter.analytics.Analytics;
-import com.microsoft.appcenter.crashes.Crashes;
-
/**
* LoginActivity handles the login of user into the application.
*/
diff --git a/app/src/prod/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java b/app/src/prod/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java
index fe6b574..9760df5 100644
--- a/app/src/prod/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java
+++ b/app/src/prod/java/com/andela/art/reportproblem/presentation/ReportProblemActivity.java
@@ -1,19 +1,19 @@
package com.andela.art.reportproblem.presentation;
import android.databinding.DataBindingUtil;
-import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
+import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import com.andela.art.R;
import com.andela.art.databinding.ActivityReportProblemBinding;
import com.andela.art.models.ReportProblem;
+import com.andela.art.reportproblem.injection.DaggerReportProblemComponent;
+import com.andela.art.reportproblem.injection.ReportProblemModule;
import com.andela.art.root.ApplicationComponent;
import com.andela.art.root.ApplicationModule;
import com.andela.art.root.ArtApplication;
-import com.andela.art.reportproblem.injection.DaggerReportProblemComponent;
-import com.andela.art.reportproblem.injection.ReportProblemModule;
import com.google.firebase.auth.FirebaseAuth;
import javax.inject.Inject;
diff --git a/app/src/prod/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java b/app/src/prod/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java
index ba0ef5d..70b172d 100644
--- a/app/src/prod/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java
+++ b/app/src/prod/java/com/andela/art/sendfeedback/presentation/SendFeedbackActivity.java
@@ -3,8 +3,8 @@
import android.databinding.DataBindingUtil;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
-import android.widget.Toast;
import android.view.View;
+import android.widget.Toast;
import com.andela.art.R;
import com.andela.art.databinding.ActivitySendFeedbackBinding;
diff --git a/app/src/release/google-services.json b/app/src/release/google-services.json
index f387462..49c3b48 100644
--- a/app/src/release/google-services.json
+++ b/app/src/release/google-services.json
@@ -14,6 +14,78 @@
}
},
"oauth_client": [
+ {
+ "client_id": "236168090156-csvfv3qep0pq8sk18mdcrthvuaqivrtq.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "99648d0d2a9efbe55859eb51b5ba42e34875529c"
+ }
+ },
+ {
+ "client_id": "236168090156-g2km3hl7167bmdqdnr19iah9qjosde7q.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "ccdf23c76658d1712afe589cb6caedb3f3ef2bd3"
+ }
+ },
+ {
+ "client_id": "236168090156-nj6h7tdnlromnteetg6c33kjvfp689gd.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "5f4e30913a5319c01be08dcbab80376bfeba2d10"
+ }
+ },
+ {
+ "client_id": "236168090156-psv4bc75ueoa1f56g5r6boe2alu5eu4t.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "098d14c9df54fe4c459f852888ac6562366f9afa"
+ }
+ },
+ {
+ "client_id": "236168090156-fmqn1sjrgkg5s547s81qulfib6en5ems.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "708470c1f69828708e322d01bb76b3f991b17665"
+ }
+ },
+ {
+ "client_id": "236168090156-ji032050aiptel369evgu0i2e9isllin.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "4baddb73b17df46f3a4c65cf4d9879a3fbc89a45"
+ }
+ },
+ {
+ "client_id": "236168090156-5ps4d1oseqqmq7o27tekrtcrrptopha6.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "8d0b94287a31b1025974c48dce8057c91fce0f12"
+ }
+ },
+ {
+ "client_id": "236168090156-1d9cnbm10mug1844jar075p7h067ami1.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "5354e10737c7cf28abffe0ba8dee4818ed341d63"
+ }
+ },
+ {
+ "client_id": "236168090156-vlk3nmtskanamb88b3k088p8tik1digm.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.andela.art",
+ "certificate_hash": "70a52c532a450de07c86bdf7cb25db184ff7dae9"
+ }
+ },
{
"client_id": "236168090156-lvjn1oigbjg589a4f1uaqftelh8j2iu3.apps.googleusercontent.com",
"client_type": 1,
@@ -153,23 +225,16 @@
}
],
"services": {
- "analytics_service": {
- "status": 1
- },
"appinvite_service": {
- "status": 2,
"other_platform_oauth_client": [
{
"client_id": "236168090156-btj6h113flq4vsiknpsv8gs636rl6idr.apps.googleusercontent.com",
"client_type": 3
}
]
- },
- "ads_service": {
- "status": 2
}
}
}
],
"configuration_version": "1"
-}
+}
\ No newline at end of file
diff --git a/app/src/test/java/com/andela/art/LoginActivityTest.java b/app/src/test/java/com/andela/art/LoginActivityTest.java
index a6a8846..85f3c78 100644
--- a/app/src/test/java/com/andela/art/LoginActivityTest.java
+++ b/app/src/test/java/com/andela/art/LoginActivityTest.java
@@ -1,12 +1,12 @@
package com.andela.art;
+import com.andela.art.login.LoginActivity;
+
import org.junit.Test;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import com.andela.art.login.LoginActivity;
-
/**
* Created by allan on 27/03/2018.
*/
diff --git a/app/src/test/java/com/andela/art/util/RxSchedulersOverrideRule.java b/app/src/test/java/com/andela/art/util/RxSchedulersOverrideRule.java
index 67095ab..053cccd 100644
--- a/app/src/test/java/com/andela/art/util/RxSchedulersOverrideRule.java
+++ b/app/src/test/java/com/andela/art/util/RxSchedulersOverrideRule.java
@@ -3,6 +3,7 @@
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runners.model.Statement;
+
import java.util.concurrent.Callable;
import io.reactivex.Scheduler;
diff --git a/build.gradle b/build.gradle
index 7c80c80..fc4cb5b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,8 +6,8 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.0.1'
- classpath 'com.dicedmelon.gradle:jacoco-android:0.1.2'
+ classpath 'com.android.tools.build:gradle:3.4.2'
+ classpath 'com.dicedmelon.gradle:jacoco-android:0.1.4'
classpath 'com.google.gms:google-services:3.2.0' // google-services plugin
// NOTE: Do not place your application dependencies here; they belong
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
index 13372ae..5c2d1cf 100644
Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index eaab57a..a7154fe 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Mon Feb 19 20:07:32 EAT 2018
+#Tue Jul 30 16:13:11 EAT 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-all.zip
diff --git a/gradlew b/gradlew
index 9d82f78..1a83296 100755
--- a/gradlew
+++ b/gradlew
@@ -1,4 +1,20 @@
-#!/usr/bin/env bash
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed 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
+#
+# https://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.
+#
##############################################################################
##
@@ -6,20 +22,38 @@
##
##############################################################################
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS=""
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
-warn ( ) {
+warn () {
echo "$*"
}
-die ( ) {
+die () {
echo
echo "$*"
echo
@@ -30,6 +64,7 @@ die ( ) {
cygwin=false
msys=false
darwin=false
+nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
@@ -40,26 +75,11 @@ case "`uname`" in
MINGW* )
msys=true
;;
+ NONSTOP* )
+ nonstop=true
+ ;;
esac
-# Attempt to set APP_HOME
-# Resolve links: $0 may be a link
-PRG="$0"
-# Need this for relative symlinks.
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
-done
-SAVED="`pwd`"
-cd "`dirname \"$PRG\"`/" >/dev/null
-APP_HOME="`pwd -P`"
-cd "$SAVED" >/dev/null
-
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
@@ -85,7 +105,7 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
-if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
@@ -150,11 +170,21 @@ if $cygwin ; then
esac
fi
-# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
-function splitJvmOpts() {
- JVM_OPTS=("$@")
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
}
-eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
-JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+APP_ARGS=$(save "$@")
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
+ cd "$(dirname "$0")"
+fi
+
+yes | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;28.0.3"
-exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
index aec9973..24467a1 100644
--- a/gradlew.bat
+++ b/gradlew.bat
@@ -1,3 +1,19 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@@ -8,14 +24,14 @@
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS=
-
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
@@ -46,10 +62,9 @@ echo location of your Java installation.
goto fail
:init
-@rem Get command-line arguments, handling Windowz variants
+@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
-if "%@eval[2+2]" == "4" goto 4NT_args
:win9xME_args
@rem Slurp the command line arguments.
@@ -60,11 +75,6 @@ set _SKIP=2
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
-goto execute
-
-:4NT_args
-@rem Get arguments from the 4NT Shell from JP Software
-set CMD_LINE_ARGS=%$
:execute
@rem Setup the command line