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

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

@ -204,12 +204,26 @@
app:layout_constraintStart_toEndOf="@id/vwColor"
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
android:id="@+id/marginBottom"
android:layout_width="match_parent"
android:layout_height="3dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" />
app:layout_constraintTop_toBottomOf="@id/btnHelp" />
<androidx.constraintlayout.widget.Group
android:id="@+id/grpSettings"

@ -241,13 +241,27 @@
app:layout_constraintStart_toEndOf="@id/ivExpander"
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
android:id="@+id/paddingBottom"
android:layout_width="match_parent"
android:layout_height="6dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvError" />
app:layout_constraintTop_toBottomOf="@id/btnHelp" />
</androidx.constraintlayout.widget.ConstraintLayout>
</eu.faircode.email.ViewCardOptional>
</FrameLayout>
Loading…
Cancel
Save