Added account/folder error help button

pull/162/head
M66B 6 years ago
parent 939ff7f403
commit b6b9b0c253

@ -34,6 +34,7 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@ -87,6 +88,7 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
private TextView tvDrafts; private TextView tvDrafts;
private TextView tvWarning; private TextView tvWarning;
private TextView tvError; private TextView tvError;
private Button btnHelp;
private Group grpSettings; private Group grpSettings;
private TwoStateOwner powner = new TwoStateOwner(owner, "AccountPopup"); private TwoStateOwner powner = new TwoStateOwner(owner, "AccountPopup");
@ -109,17 +111,20 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
tvDrafts = itemView.findViewById(R.id.tvDrafts); tvDrafts = itemView.findViewById(R.id.tvDrafts);
tvWarning = itemView.findViewById(R.id.tvWarning); tvWarning = itemView.findViewById(R.id.tvWarning);
tvError = itemView.findViewById(R.id.tvError); tvError = itemView.findViewById(R.id.tvError);
btnHelp = itemView.findViewById(R.id.btnHelp);
grpSettings = itemView.findViewById(R.id.grpSettings); grpSettings = itemView.findViewById(R.id.grpSettings);
} }
private void wire() { private void wire() {
view.setOnClickListener(this); view.setOnClickListener(this);
view.setOnLongClickListener(this); view.setOnLongClickListener(this);
btnHelp.setOnClickListener(this);
} }
private void unwire() { private void unwire() {
view.setOnClickListener(null); view.setOnClickListener(null);
view.setOnLongClickListener(null); view.setOnLongClickListener(null);
btnHelp.setOnClickListener(null);
} }
private void bindTo(TupleAccountEx account) { private void bindTo(TupleAccountEx account) {
@ -169,24 +174,29 @@ public class AdapterAccount extends RecyclerView.Adapter<AdapterAccount.ViewHold
tvError.setText(account.error); tvError.setText(account.error);
tvError.setVisibility(account.error == null ? View.GONE : View.VISIBLE); tvError.setVisibility(account.error == null ? View.GONE : View.VISIBLE);
btnHelp.setVisibility(account.error == null ? View.GONE : View.VISIBLE);
grpSettings.setVisibility(settings ? View.VISIBLE : View.GONE); grpSettings.setVisibility(settings ? View.VISIBLE : View.GONE);
} }
@Override @Override
public void onClick(View view) { public void onClick(View view) {
int pos = getAdapterPosition(); if (view.getId() == R.id.btnHelp)
if (pos == RecyclerView.NO_POSITION) Helper.viewFAQ(context, 22);
return; else {
int pos = getAdapterPosition();
TupleAccountEx account = items.get(pos); if (pos == RecyclerView.NO_POSITION)
if (account.tbd != null) return;
return;
TupleAccountEx account = items.get(pos);
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); if (account.tbd != null)
lbm.sendBroadcast( return;
new Intent(settings ? ActivitySetup.ACTION_EDIT_ACCOUNT : ActivityView.ACTION_VIEW_FOLDERS)
.putExtra("id", account.id)); LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
lbm.sendBroadcast(
new Intent(settings ? ActivitySetup.ACTION_EDIT_ACCOUNT : ActivityView.ACTION_VIEW_FOLDERS)
.putExtra("id", account.id));
}
} }
@Override @Override

@ -37,6 +37,7 @@ import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
@ -114,6 +115,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
private TextView tvKeywords; private TextView tvKeywords;
private TextView tvError; private TextView tvError;
private Button btnHelp;
private TwoStateOwner powner = new TwoStateOwner(owner, "FolderPopup"); private TwoStateOwner powner = new TwoStateOwner(owner, "FolderPopup");
@ -145,6 +147,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
tvKeywords = itemView.findViewById(R.id.tvKeywords); tvKeywords = itemView.findViewById(R.id.tvKeywords);
tvError = itemView.findViewById(R.id.tvError); tvError = itemView.findViewById(R.id.tvError);
btnHelp = itemView.findViewById(R.id.btnHelp);
} }
private void wire() { private void wire() {
@ -152,6 +155,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
ivExpander.setOnClickListener(this); ivExpander.setOnClickListener(this);
if (listener == null) if (listener == null)
view.setOnLongClickListener(this); view.setOnLongClickListener(this);
if (btnHelp != null)
btnHelp.setOnClickListener(this);
} }
private void unwire() { private void unwire() {
@ -159,6 +164,8 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
ivExpander.setOnClickListener(null); ivExpander.setOnClickListener(null);
if (listener == null) if (listener == null)
view.setOnLongClickListener(null); view.setOnLongClickListener(null);
if (btnHelp != null)
btnHelp.setOnClickListener(null);
} }
private void bindTo(final TupleFolderEx folder) { private void bindTo(final TupleFolderEx folder) {
@ -283,32 +290,38 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
tvError.setText(folder.error); tvError.setText(folder.error);
tvError.setVisibility(folder.error != null ? View.VISIBLE : View.GONE); tvError.setVisibility(folder.error != null ? View.VISIBLE : View.GONE);
if (btnHelp != null)
btnHelp.setVisibility(folder.error == null ? View.GONE : View.VISIBLE);
} }
} }
@Override @Override
public void onClick(View view) { public void onClick(View view) {
int pos = getAdapterPosition(); if (view.getId() == R.id.btnHelp)
if (pos == RecyclerView.NO_POSITION) Helper.viewFAQ(context, 22);
return; else {
int pos = getAdapterPosition();
TupleFolderEx folder = items.get(pos); if (pos == RecyclerView.NO_POSITION)
if (folder.tbd != null) return;
return;
TupleFolderEx folder = items.get(pos);
if (view.getId() == R.id.ivExpander) if (folder.tbd != null)
onCollapse(folder); return;
else if (folder.selectable) {
if (listener == null) { if (view.getId() == R.id.ivExpander)
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context); onCollapse(folder);
lbm.sendBroadcast( else if (folder.selectable) {
new Intent(ActivityView.ACTION_VIEW_MESSAGES) if (listener == null) {
.putExtra("account", folder.account) LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(context);
.putExtra("folder", folder.id)); lbm.sendBroadcast(
} else { new Intent(ActivityView.ACTION_VIEW_MESSAGES)
if (disabledIds.contains(folder.id)) .putExtra("account", folder.account)
return; .putExtra("folder", folder.id));
listener.onFolderSelected(folder); } else {
if (disabledIds.contains(folder.id))
return;
listener.onFolderSelected(folder);
}
} }
} }
} }

@ -204,12 +204,26 @@
app:layout_constraintStart_toEndOf="@id/vwColor" app:layout_constraintStart_toEndOf="@id/vwColor"
app:layout_constraintTop_toBottomOf="@id/tvWarning" /> app:layout_constraintTop_toBottomOf="@id/tvWarning" />
<Button
android:id="@+id/btnHelp"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="?attr/colorAccent"
android:minWidth="0dp"
android:minHeight="0dp"
android:text="@string/title_setup_help"
android:textColor="@android:color/black"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" />
<View <View
android:id="@+id/marginBottom" android:id="@+id/marginBottom"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="3dp" android:layout_height="3dp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" /> app:layout_constraintTop_toBottomOf="@id/btnHelp" />
<androidx.constraintlayout.widget.Group <androidx.constraintlayout.widget.Group
android:id="@+id/grpSettings" android:id="@+id/grpSettings"

@ -241,13 +241,27 @@
app:layout_constraintStart_toEndOf="@id/ivExpander" app:layout_constraintStart_toEndOf="@id/ivExpander"
app:layout_constraintTop_toBottomOf="@id/tvKeywords" /> app:layout_constraintTop_toBottomOf="@id/tvKeywords" />
<Button
android:id="@+id/btnHelp"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:backgroundTint="?attr/colorAccent"
android:minWidth="0dp"
android:minHeight="0dp"
android:text="@string/title_setup_help"
android:textColor="@android:color/black"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" />
<View <View
android:id="@+id/paddingBottom" android:id="@+id/paddingBottom"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="6dp" android:layout_height="6dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" /> app:layout_constraintTop_toBottomOf="@id/btnHelp" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</eu.faircode.email.ViewCardOptional> </eu.faircode.email.ViewCardOptional>
</FrameLayout> </FrameLayout>
Loading…
Cancel
Save