diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java
index 7f5d7273d..d9600424f 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java
@@ -141,6 +141,13 @@ public class MainActivity extends AppCompatActivity
Account account = new AccountDAO(getApplicationContext(), db).getAccountByToken(prefKeyOauthTokenT);
updateHeaderAccountInfo(MainActivity.this, account, headerLayout, imageLoader, options);
+ //Locked account can see follow request
+ if (account.isLocked()) {
+ navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(true);
+ } else {
+ navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(false);
+ }
+
LinearLayout owner_container = (LinearLayout) headerLayout.findViewById(R.id.owner_container);
owner_container.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/SearchResultActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/SearchResultActivity.java
index 8a2c9648a..a7929b500 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/SearchResultActivity.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/SearchResultActivity.java
@@ -99,7 +99,7 @@ public class SearchResultActivity extends AppCompatActivity implements OnRetriev
Toast.makeText(getApplicationContext(), error.getError(),Toast.LENGTH_LONG).show();
return;
}
- if( results == null){
+ if( results == null || (results.getAccounts().size() == 0 && results.getStatuses().size() == 0 && results.getHashtags().size() == 0)){
RelativeLayout no_result = (RelativeLayout) findViewById(R.id.no_result);
no_result.setVisibility(View.VISIBLE);
return;
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java
index 3cf2eceb5..fbcf2cfb6 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/ShowAccountActivity.java
@@ -19,6 +19,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
+import android.graphics.PorterDuff;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
@@ -27,6 +28,7 @@ import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
+import android.support.v4.content.ContextCompat;
import android.support.v4.content.LocalBroadcastManager;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
@@ -224,7 +226,9 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
account_follow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- if( doAction == action.FOLLOW){
+ if( doAction == action.NOTHING){
+ Toast.makeText(getApplicationContext(), R.string.nothing_to_do, Toast.LENGTH_LONG).show();
+ }else if( doAction == action.FOLLOW){
account_follow.setEnabled(false);
new PostActionAsyncTask(getApplicationContext(), API.StatusAction.FOLLOW, accountId, ShowAccountActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}else if( doAction == action.UNFOLLOW){
@@ -323,11 +327,13 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
Toast.makeText(getApplicationContext(), error.getError(),Toast.LENGTH_LONG).show();
return;
}
+ account_follow.setEnabled(true);
if( relationship.isBlocking()){
account_follow.setText(R.string.action_unblock);
doAction = action.UNBLOCK;
}else if( relationship.isRequested()){
account_follow.setText(R.string.request_sent);
+ account_follow.getBackground().setColorFilter(ContextCompat.getColor(this, R.color.colorPrimary), PorterDuff.Mode.MULTIPLY);
doAction = action.NOTHING;
}else if( relationship.isFollowing()){
account_follow.setText(R.string.action_unfollow);
@@ -336,13 +342,12 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
account_follow.setText(R.string.action_follow);
doAction = action.FOLLOW;
}else{
+ account_follow.setText(R.string.action_no_action);
+ account_follow.getBackground().setColorFilter(ContextCompat.getColor(this, R.color.red_1), PorterDuff.Mode.MULTIPLY);
doAction = action.NOTHING;
}
- if( doAction == action.NOTHING){
- account_follow.setEnabled(false);
- }else {
- account_follow.setEnabled(true);
- }
+
+
//The authenticated account is followed by the account
if( relationship.isFollowed_by()){
diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/AccountsFollowRequestAdapter.java b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/AccountsFollowRequestAdapter.java
index 1b1aea93a..d022b5961 100644
--- a/app/src/main/java/fr/gouv/etalab/mastodon/drawers/AccountsFollowRequestAdapter.java
+++ b/app/src/main/java/fr/gouv/etalab/mastodon/drawers/AccountsFollowRequestAdapter.java
@@ -16,8 +16,12 @@ package fr.gouv.etalab.mastodon.drawers;
import android.content.Context;
+import android.content.Intent;
import android.content.SharedPreferences;
+import android.graphics.PorterDuff;
import android.os.AsyncTask;
+import android.os.Bundle;
+import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -35,6 +39,7 @@ import com.nostra13.universalimageloader.core.display.SimpleBitmapDisplayer;
import java.util.ArrayList;
import java.util.List;
+import fr.gouv.etalab.mastodon.activities.ShowAccountActivity;
import fr.gouv.etalab.mastodon.asynctasks.PostActionAsyncTask;
import fr.gouv.etalab.mastodon.client.API;
import fr.gouv.etalab.mastodon.client.Entities.Account;
@@ -101,10 +106,24 @@ public class AccountsFollowRequestAdapter extends BaseAdapter implements OnPostA
} else {
holder = (ViewHolder) convertView.getTag();
}
+
+ holder.btn_authorize.getBackground().setColorFilter(ContextCompat.getColor(context, R.color.green_1), PorterDuff.Mode.MULTIPLY);
+ holder.btn_reject.getBackground().setColorFilter(ContextCompat.getColor(context, R.color.red_1), PorterDuff.Mode.MULTIPLY);
holder.account_un.setText(String.format("@%s", account.getUsername()));
//Profile picture
imageLoader.displayImage(account.getAvatar(), holder.account_pp, options);
-
+ holder.account_pp.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ openAccountDetails(account.getId());
+ }
+ });
+ holder.account_un.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ openAccountDetails(account.getId());
+ }
+ });
holder.btn_authorize.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -120,6 +139,14 @@ public class AccountsFollowRequestAdapter extends BaseAdapter implements OnPostA
return convertView;
}
+ private void openAccountDetails(String userId){
+ Intent intent = new Intent(context, ShowAccountActivity.class);
+ Bundle b = new Bundle();
+ b.putString("accountId", userId);
+ intent.putExtras(b);
+ context.startActivity(intent);
+ }
+
@Override
public void onPostAction(int statusCode, API.StatusAction statusAction, String userId, Error error) {
if( error != null){
diff --git a/app/src/main/res/layout/drawer_account_follow_request.xml b/app/src/main/res/layout/drawer_account_follow_request.xml
index 4e5c807b2..6fbac095e 100644
--- a/app/src/main/res/layout/drawer_account_follow_request.xml
+++ b/app/src/main/res/layout/drawer_account_follow_request.xml
@@ -25,15 +25,17 @@
@@ -41,7 +43,7 @@
android:layout_width="wrap_content"
android:gravity="end"
android:layout_height="wrap_content"
- android:orientation="horizontal">
+ android:orientation="vertical">
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index ff33589f9..380e8bc83 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -21,5 +21,6 @@
#282c37
+ #009688
#F44336
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e7f5e21cb..b7dc1db67 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -203,6 +203,7 @@
Une erreur s\'est produite en chargeant le compte !
Impossible de vous connecter !
Les données du profil ont été sauvegardées !
+ Aucune action ne peut être réalisée
Optimisation du chargement
Nombre de pouets par chargement
@@ -241,6 +242,7 @@
Bloquer
Débloquer
Masquer
+ Aucune action
Afficher
Demande envoyée
Vous suit