Skip to content

Commit

Permalink
SimpleInputDialog test
Browse files Browse the repository at this point in the history
  • Loading branch information
eltos committed Jul 1, 2017
1 parent 353b93d commit 7e91b79
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ public SimpleColorDialog colorPreset(@ColorInt int color){

/**
* Set this to true to show a field with a color picker option
* Option is ignored on Gingebread
* Option is ignored on Gingerbread
*
* @param allow allow custom picked color if true
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@

package eltos.simpledialogfragment.list;

import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.DimenRes;
import android.support.annotation.StringRes;
Expand Down Expand Up @@ -335,14 +335,14 @@ protected View onCreateContentView(Bundle savedInstanceState) {
emptyView.setText(getArgString(EMPTY_TEXT));

mAdapter = onCreateAdapter();
if (mListView instanceof ListView){
// for pre api11
((ListView) mListView).setAdapter(mAdapter);
} else if (mListView instanceof GridView) {
// for pre api11
((GridView) mListView).setAdapter(mAdapter);
} else {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
mListView.setAdapter(mAdapter);
} else { // for pre api11
if (mListView instanceof ListView){
((ListView) mListView).setAdapter(mAdapter);
} else if (mListView instanceof GridView) {
((GridView) mListView).setAdapter(mAdapter);
}
}
mListView.setEmptyView(emptyView);

Expand Down
44 changes: 10 additions & 34 deletions testApp/src/main/java/eltos/simpledialogfragments/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
package eltos.simpledialogfragments;

import android.Manifest;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
Expand All @@ -14,13 +10,11 @@
import android.support.annotation.ArrayRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.text.InputType;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.util.Patterns;
import android.view.View;
import android.widget.Toast;

Expand Down Expand Up @@ -61,7 +55,7 @@ public class MainActivity extends AppCompatActivity implements
private static final String PRODUCT_DIALOG = "dialogTagProduct";
private static final String NUMBER_DIALOG = "dialogTagNumber";
private static final String LOGIN_DIALOG = "dialogTagLogin";
private static final String EMAIL_DIALOG = "dialogTagEmail";
private static final String TEXT_DIALOG = "dialogTagEmail";
private static final String REGISTRATION_DIALOG = "dialogTagRegistration";
private static final String CHECK_DIALOG = "dialogTagCheck";
private static final String INPUT_DIALOG = "dialogTagInput";
Expand Down Expand Up @@ -318,31 +312,13 @@ public void showCheckBox(View view){
}


public void showEmailInput(View view){
public void showTextInput(View view){

// email suggestion from registered accounts
ArrayList<String> emails = new ArrayList<>(0);
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.GET_ACCOUNTS) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && view != null) {
requestPermissions(new String[]{Manifest.permission.GET_ACCOUNTS}, REQUEST_ACCOUNTS_PERMISSION);
return;
}
} else {
Account[] accounts = AccountManager.get(this).getAccounts();
for (Account account : accounts) {
if (Patterns.EMAIL_ADDRESS.matcher(account.name).matches()) {
emails.add(account.name);
}
}
}

SimpleFormDialog.build()
.fields(Input.email(EMAIL)
.required()
.suggest(emails)
.text(emails.size() > 0 ? emails.get(0) : null)
)
.show(this, EMAIL_DIALOG);
SimpleInputDialog.build()
.hint(R.string.name)
.inputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES)
.allowEmpty(false)
.show(this, TEXT_DIALOG);

/** Results: {@link MainActivity#onResult} **/

Expand Down Expand Up @@ -525,8 +501,8 @@ public boolean onResult(@NonNull String dialogTag, int which, @NonNull Bundle ex
Toast.makeText(this, keep ? R.string.deleted_but_starred_kept : R.string.deleted, Toast.LENGTH_SHORT).show();
return true;

case EMAIL_DIALOG: /** {@link MainActivity#showEmailInput(View)} **/
String mail = extras.getString(EMAIL);
case TEXT_DIALOG: /** {@link MainActivity#showTextInput(View)} **/
String mail = extras.getString(SimpleInputDialog.TEXT);
Toast.makeText(this, mail, Toast.LENGTH_SHORT).show();
return true;

Expand Down Expand Up @@ -664,7 +640,7 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
handler.postDelayed(new Runnable() {
@Override
public void run() {
showEmailInput(null);
showTextInput(null);
}
}, 10);

Expand Down
4 changes: 2 additions & 2 deletions testApp/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -214,8 +214,8 @@
app:layout_row="1"
app:layout_column="1"
app:layout_columnWeight="1"
android:text="Email"
android:onClick="showEmailInput" />
android:text="Text"
android:onClick="showTextInput" />

<Button
android:layout_width="wrap_content"
Expand Down

0 comments on commit 7e91b79

Please sign in to comment.