changed spacing in create dialogs and notify user when no accounts are activated
This commit is contained in:
parent
3ff40a9733
commit
77c0fb0b2a
|
@ -19,8 +19,8 @@ import eu.siacs.conversations.xmpp.jid.InvalidJidException;
|
|||
import eu.siacs.conversations.xmpp.jid.Jid;
|
||||
|
||||
public class EnterJidDialog {
|
||||
public static interface OnEnterJidDialogPositiveListener {
|
||||
public boolean onEnterJidDialogPositive(Jid account, Jid contact) throws EnterJidDialog.JidError;
|
||||
public interface OnEnterJidDialogPositiveListener {
|
||||
boolean onEnterJidDialogPositive(Jid account, Jid contact) throws EnterJidDialog.JidError;
|
||||
}
|
||||
|
||||
public static class JidError extends Exception {
|
||||
|
@ -40,7 +40,7 @@ public class EnterJidDialog {
|
|||
protected OnEnterJidDialogPositiveListener listener = null;
|
||||
|
||||
public EnterJidDialog(
|
||||
final Context context, List<String> knownHosts, List<String> activatedAccounts,
|
||||
final Context context, List<String> knownHosts, final List<String> activatedAccounts,
|
||||
final String title, final String positiveButton,
|
||||
final String prefilledJid, final String account, boolean allowEditJid
|
||||
) {
|
||||
|
@ -60,17 +60,17 @@ public class EnterJidDialog {
|
|||
}
|
||||
}
|
||||
|
||||
ArrayAdapter<String> adapter;
|
||||
|
||||
if (account == null) {
|
||||
adapter = new ArrayAdapter<>(context,
|
||||
android.R.layout.simple_spinner_item, activatedAccounts);
|
||||
StartConversationActivity.populateAccountSpinner(context, activatedAccounts, spinner);
|
||||
} else {
|
||||
adapter = new ArrayAdapter<>(context,
|
||||
android.R.layout.simple_spinner_item, new String[] { account });
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(context,
|
||||
android.R.layout.simple_spinner_item,
|
||||
new String[] { account });
|
||||
spinner.setEnabled(false);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinner.setAdapter(adapter);
|
||||
}
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinner.setAdapter(adapter);
|
||||
|
||||
builder.setView(dialogView);
|
||||
builder.setNegativeButton(R.string.cancel, null);
|
||||
|
@ -81,6 +81,9 @@ public class EnterJidDialog {
|
|||
@Override
|
||||
public void onClick(final View v) {
|
||||
final Jid accountJid;
|
||||
if (!spinner.isEnabled() && account == null) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
accountJid = Jid.fromParts((String) spinner.getSelectedItem(), Config.DOMAIN_LOCK, null);
|
||||
|
|
|
@ -393,7 +393,7 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
|
|||
if (prefilledJid != null) {
|
||||
jid.append(prefilledJid);
|
||||
}
|
||||
populateAccountSpinner(spinner);
|
||||
populateAccountSpinner(this, mActivatedAccounts, spinner);
|
||||
final Checkable bookmarkCheckBox = (CheckBox) dialogView
|
||||
.findViewById(R.id.bookmark);
|
||||
builder.setView(dialogView);
|
||||
|
@ -411,7 +411,6 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
|
|||
}
|
||||
final Account account = getSelectedAccount(spinner);
|
||||
if (account == null) {
|
||||
dialog.dismiss();
|
||||
return;
|
||||
}
|
||||
final Jid conferenceJid;
|
||||
|
@ -459,6 +458,9 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
|
|||
}
|
||||
|
||||
private Account getSelectedAccount(Spinner spinner) {
|
||||
if (!spinner.isEnabled()) {
|
||||
return null;
|
||||
}
|
||||
Jid jid;
|
||||
try {
|
||||
if (Config.DOMAIN_LOCK != null) {
|
||||
|
@ -479,11 +481,21 @@ public class StartConversationActivity extends XmppActivity implements OnRosterU
|
|||
switchToConversation(conversation);
|
||||
}
|
||||
|
||||
private void populateAccountSpinner(Spinner spinner) {
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
|
||||
android.R.layout.simple_spinner_item, mActivatedAccounts);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinner.setAdapter(adapter);
|
||||
public static void populateAccountSpinner(Context context, List<String> accounts, Spinner spinner) {
|
||||
if (accounts.size() > 0) {
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(context,
|
||||
android.R.layout.simple_spinner_item, accounts);
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinner.setAdapter(adapter);
|
||||
spinner.setEnabled(true);
|
||||
} else {
|
||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(context,
|
||||
android.R.layout.simple_spinner_item,
|
||||
Arrays.asList(new String[]{context.getString(R.string.no_accounts)}));
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
spinner.setAdapter(adapter);
|
||||
spinner.setEnabled(false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
android:id="@+id/jabber_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/account_settings_jabber_id"
|
||||
android:textColor="@color/black87"
|
||||
android:textSize="?attr/TextSizeBody"/>
|
||||
|
@ -37,6 +37,7 @@
|
|||
android:hint="@string/account_settings_example_jabber_id"
|
||||
android:inputType="textEmailAddress"
|
||||
android:textColor="@color/black87"
|
||||
android:textColorHint="@color/black54"/>
|
||||
android:textColorHint="@color/black54"
|
||||
android:textSize="?attr/TextSizeBody" />
|
||||
|
||||
</LinearLayout>
|
|
@ -25,7 +25,7 @@
|
|||
android:id="@+id/jabber_id"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/conference_address"
|
||||
android:textColor="@color/black87"
|
||||
android:textSize="?attr/TextSizeBody" />
|
||||
|
@ -37,14 +37,17 @@
|
|||
android:hint="@string/conference_address_example"
|
||||
android:inputType="textEmailAddress"
|
||||
android:textColor="@color/black87"
|
||||
android:textColorHint="@color/black54" />
|
||||
android:textColorHint="@color/black54"
|
||||
android:textSize="?attr/TextSizeBody"/>
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/bookmark"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:checked="true"
|
||||
android:text="@string/save_as_bookmark" />
|
||||
android:text="@string/save_as_bookmark"
|
||||
android:textColor="@color/black87"
|
||||
android:textSize="?attr/TextSizeBody"/>
|
||||
|
||||
</LinearLayout>
|
|
@ -580,4 +580,5 @@
|
|||
<string name="battery_optimizations_enabled_dialog">Your device is doing some heavy battery optimizations on Conversations that might lead to delayed notifications or even message loss.\n\nYou will now be asked to disable those.</string>
|
||||
<string name="disable">Disable</string>
|
||||
<string name="selection_too_large">The selected area is too large</string>
|
||||
<string name="no_accounts">(No activated accounts)</string>
|
||||
</resources>
|
||||
|
|
Loading…
Reference in a new issue