|
@@ -14,7 +14,6 @@ import android.text.InputFilter;
|
|
|
import android.text.InputType;
|
|
import android.text.InputType;
|
|
|
import android.text.TextWatcher;
|
|
import android.text.TextWatcher;
|
|
|
import android.util.Log;
|
|
import android.util.Log;
|
|
|
-import android.view.KeyEvent;
|
|
|
|
|
import android.view.LayoutInflater;
|
|
import android.view.LayoutInflater;
|
|
|
import android.view.Menu;
|
|
import android.view.Menu;
|
|
|
import android.view.MenuItem;
|
|
import android.view.MenuItem;
|
|
@@ -22,18 +21,21 @@ import android.view.View;
|
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewGroup;
|
|
|
import android.view.inputmethod.EditorInfo;
|
|
import android.view.inputmethod.EditorInfo;
|
|
|
import android.widget.AbsListView;
|
|
import android.widget.AbsListView;
|
|
|
|
|
+import android.widget.ArrayAdapter;
|
|
|
|
|
+import android.widget.AutoCompleteTextView;
|
|
|
import android.widget.BaseExpandableListAdapter;
|
|
import android.widget.BaseExpandableListAdapter;
|
|
|
import android.widget.Button;
|
|
import android.widget.Button;
|
|
|
import android.widget.CompoundButton;
|
|
import android.widget.CompoundButton;
|
|
|
import android.widget.EditText;
|
|
import android.widget.EditText;
|
|
|
import android.widget.ExpandableListView;
|
|
import android.widget.ExpandableListView;
|
|
|
import android.widget.Switch;
|
|
import android.widget.Switch;
|
|
|
-import android.widget.TextView;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorActionCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorActionCellHolder;
|
|
|
|
|
+import com.usai.redant.CommonEditor.CommonEditor.CommonEditorAutoCompleteAdapter;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorCellHolder;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorDateRangeCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorDateRangeCellHolder;
|
|
|
|
|
+import com.usai.redant.CommonEditor.CommonEditor.CommonEditorEditAutoCompleteCellHolder;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorEditCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorEditCellHolder;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorEnumCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorEnumCellHolder;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorImageCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorImageCellHolder;
|
|
@@ -45,7 +47,6 @@ import com.usai.redant.CommonEditor.CommonEditor.CommonEditorSectionHeaderHolder
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorSignatureCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorSignatureCellHolder;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorSwitchCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorSwitchCellHolder;
|
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorTextViewCellHolder;
|
|
import com.usai.redant.CommonEditor.CommonEditor.CommonEditorTextViewCellHolder;
|
|
|
-import com.usai.redant.CommonEditor.EnumSelectAndSort.EnumSelectAndSortActivity;
|
|
|
|
|
import com.usai.redant.redantmobile.R;
|
|
import com.usai.redant.redantmobile.R;
|
|
|
import com.usai.redant.util.Network;
|
|
import com.usai.redant.util.Network;
|
|
|
|
|
|
|
@@ -55,14 +56,14 @@ import org.json.JSONObject;
|
|
|
|
|
|
|
|
import java.io.BufferedReader;
|
|
import java.io.BufferedReader;
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
-import java.io.InputStream;
|
|
|
|
|
import java.io.InputStreamReader;
|
|
import java.io.InputStreamReader;
|
|
|
-import java.io.OutputStreamWriter;
|
|
|
|
|
import java.net.HttpURLConnection;
|
|
import java.net.HttpURLConnection;
|
|
|
import java.net.URL;
|
|
import java.net.URL;
|
|
|
import java.text.SimpleDateFormat;
|
|
import java.text.SimpleDateFormat;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
|
import java.util.Iterator;
|
|
import java.util.Iterator;
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.regex.Matcher;
|
|
import java.util.regex.Matcher;
|
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
|
|
|
|
|
@@ -1746,6 +1747,7 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
public static int COMMON_EDITOR_CELL_TYPE_SECTION_HEADER = 10;
|
|
public static int COMMON_EDITOR_CELL_TYPE_SECTION_HEADER = 10;
|
|
|
public static int COMMON_EDITOR_CELL_TYPE_RANGE = 11;
|
|
public static int COMMON_EDITOR_CELL_TYPE_RANGE = 11;
|
|
|
public static int COMMON_EDITOR_CELL_TYPE_DATE_RANGE = 12;
|
|
public static int COMMON_EDITOR_CELL_TYPE_DATE_RANGE = 12;
|
|
|
|
|
+ public static int COMMON_EDITOR_CELL_TYPE_AUTO_COMPLETE = 13;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* ExpandListView Adapter
|
|
* ExpandListView Adapter
|
|
@@ -1868,9 +1870,16 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
setUpImageCellHolder((CommonEditorImageCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
setUpImageCellHolder((CommonEditorImageCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
|
|
|
} else if (control.equals("edit")) {
|
|
} else if (control.equals("edit")) {
|
|
|
- convertView = LayoutInflater.from(mCtx).inflate(R.layout.common_editor_edit_cell_small,null);
|
|
|
|
|
- holder = new CommonEditorEditCellHolder(mCtx,convertView);
|
|
|
|
|
- setUpEditCellHolder((CommonEditorEditCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
|
|
+ String autoComplete = item_json.optString("autocomplete");
|
|
|
|
|
+ if (autoComplete != null && autoComplete.equals("true")) {
|
|
|
|
|
+ convertView = LayoutInflater.from(mCtx).inflate(R.layout.common_editor_edit_auto_complete_cell_small,null);
|
|
|
|
|
+ holder = new CommonEditorEditAutoCompleteCellHolder(mCtx,convertView);
|
|
|
|
|
+ setUpEditAutoCompleteCellHolder((CommonEditorEditAutoCompleteCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ convertView = LayoutInflater.from(mCtx).inflate(R.layout.common_editor_edit_cell_small,null);
|
|
|
|
|
+ holder = new CommonEditorEditCellHolder(mCtx,convertView);
|
|
|
|
|
+ setUpEditCellHolder((CommonEditorEditCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
} else if (control.equals("text")) {
|
|
} else if (control.equals("text")) {
|
|
|
convertView = LayoutInflater.from(mCtx).inflate(R.layout.common_editor_label_cell_small,null);
|
|
convertView = LayoutInflater.from(mCtx).inflate(R.layout.common_editor_label_cell_small,null);
|
|
@@ -1956,8 +1965,16 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
setUpImageCellHolder((CommonEditorImageCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
setUpImageCellHolder((CommonEditorImageCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
|
|
|
} else if (control.equals("edit")) {
|
|
} else if (control.equals("edit")) {
|
|
|
- holder = (CommonEditorEditCellHolder)convertView.getTag();
|
|
|
|
|
- setUpEditCellHolder((CommonEditorEditCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
|
|
+
|
|
|
|
|
+ String autoComplete = item_json.optString("autocomplete");
|
|
|
|
|
+ if (autoComplete != null && autoComplete.equals("true")) {
|
|
|
|
|
+ holder = (CommonEditorEditAutoCompleteCellHolder)convertView.getTag();
|
|
|
|
|
+ setUpEditAutoCompleteCellHolder((CommonEditorEditAutoCompleteCellHolder) holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ holder = (CommonEditorEditCellHolder)convertView.getTag();
|
|
|
|
|
+ setUpEditCellHolder((CommonEditorEditCellHolder)holder,convertView,item_json,readonly,groupPosition,childPosition);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
} else if (control.equals("text")) {
|
|
} else if (control.equals("text")) {
|
|
|
holder = (CommonEditorLabelCellHolder)convertView.getTag();
|
|
holder = (CommonEditorLabelCellHolder)convertView.getTag();
|
|
@@ -2031,7 +2048,7 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
@Override
|
|
@Override
|
|
|
public int getChildTypeCount() {
|
|
public int getChildTypeCount() {
|
|
|
|
|
|
|
|
- return 13;
|
|
|
|
|
|
|
+ return 14;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -2052,7 +2069,12 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
} else if (control.equals("img")) {
|
|
} else if (control.equals("img")) {
|
|
|
return COMMON_EDITOR_CELL_TYPE_IMAGE;
|
|
return COMMON_EDITOR_CELL_TYPE_IMAGE;
|
|
|
} else if (control.equals("edit")) {
|
|
} else if (control.equals("edit")) {
|
|
|
- return COMMON_EDITOR_CELL_TYPE_EDIT;
|
|
|
|
|
|
|
+ String autoComplete = item_json.optString("autocomplete");
|
|
|
|
|
+ if (autoComplete != null && autoComplete.equals("true")) {
|
|
|
|
|
+ return COMMON_EDITOR_CELL_TYPE_AUTO_COMPLETE;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return COMMON_EDITOR_CELL_TYPE_EDIT;
|
|
|
|
|
+ }
|
|
|
} else if (control.equals("text")) {
|
|
} else if (control.equals("text")) {
|
|
|
return COMMON_EDITOR_CELL_TYPE_LABLE;
|
|
return COMMON_EDITOR_CELL_TYPE_LABLE;
|
|
|
} else if (control.equals("action")) {
|
|
} else if (control.equals("action")) {
|
|
@@ -2584,6 +2606,7 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
holder.textWatcher = textWatcher;
|
|
holder.textWatcher = textWatcher;
|
|
|
} else {
|
|
} else {
|
|
|
TextFieldTextWatcher textWatcher = (TextFieldTextWatcher)holder.textWatcher;
|
|
TextFieldTextWatcher textWatcher = (TextFieldTextWatcher)holder.textWatcher;
|
|
|
|
|
+ holder.text_field.addTextChangedListener(textWatcher);
|
|
|
textWatcher.group = group;
|
|
textWatcher.group = group;
|
|
|
textWatcher.child = child;
|
|
textWatcher.child = child;
|
|
|
}
|
|
}
|
|
@@ -2609,6 +2632,26 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public void setUpEditAutoCompleteCellHolder(final CommonEditorEditAutoCompleteCellHolder holder, View cell, JSONObject item_json, boolean readonly, int group, int child) {
|
|
|
|
|
+ setUpEditCellHolder(holder,cell,item_json,readonly,group,child);
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ holder.text_field.setThreshold(1);
|
|
|
|
|
+ if (holder.autoCompleteAdapter == null) {
|
|
|
|
|
+ List<String> dataSource = new ArrayList<String>();
|
|
|
|
|
+ int resourceId = R.layout.common_editor_auto_complete_list_cell;
|
|
|
|
|
+ int textViewId = R.id.auto_complete_value_tv;
|
|
|
|
|
+ CommonEditorAutoCompleteAdapter autoCompleteAdapter = new CommonEditorAutoCompleteAdapter(mCtx,resourceId, textViewId, dataSource);
|
|
|
|
|
+ holder.text_field.setAdapter(autoCompleteAdapter);
|
|
|
|
|
+ holder.autoCompleteAdapter = autoCompleteAdapter;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ((CommonEditorAutoCompleteAdapter)holder.text_field.getAdapter()).dataSource.clear();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private boolean can_see_price = true;
|
|
private boolean can_see_price = true;
|
|
@@ -4271,6 +4314,7 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
int group;
|
|
int group;
|
|
|
int child;
|
|
int child;
|
|
|
EditText textView;
|
|
EditText textView;
|
|
|
|
|
+ boolean autoComplete = false;
|
|
|
|
|
|
|
|
public TextFieldTextWatcher(Context ctx,EditText textView,int group,int child) {
|
|
public TextFieldTextWatcher(Context ctx,EditText textView,int group,int child) {
|
|
|
this.mCtx = ctx;
|
|
this.mCtx = ctx;
|
|
@@ -4301,6 +4345,7 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
start_position = start;
|
|
start_position = start;
|
|
|
change_length = count;
|
|
change_length = count;
|
|
|
new_string_length = after;
|
|
new_string_length = after;
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -4349,6 +4394,34 @@ public class CommonEditorActivity extends AppCompatActivity implements View.OnLa
|
|
|
// cell clear shadow
|
|
// cell clear shadow
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ if (textView instanceof AutoCompleteTextView) {
|
|
|
|
|
+
|
|
|
|
|
+ final CommonEditorEditAutoCompleteCellHolder holder = (CommonEditorEditAutoCompleteCellHolder) ((View)textView.getParent().getParent()).getTag();
|
|
|
|
|
+ holder.autoCompleteAdapter.dataSource.clear();
|
|
|
|
|
+ new Thread(new Runnable() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void run() {
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ Thread.sleep(2 * 1000);
|
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ runOnUiThread(new Runnable() {
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void run() {
|
|
|
|
|
+ String [] arr={"aa","aab","aac","abcd","afok"};
|
|
|
|
|
+ for (int i = 0; i < 5; i++) {
|
|
|
|
|
+ holder.autoCompleteAdapter.dataSource.add(arr[i]);
|
|
|
|
|
+ }
|
|
|
|
|
+ holder.autoCompleteAdapter.notifyDataSetChanged();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }).start();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
String keyboard = item_json.optString("keyboard");
|
|
String keyboard = item_json.optString("keyboard");
|
|
|
if (!keyboard.equals("number") && !keyboard.equals("int")) {
|
|
if (!keyboard.equals("number") && !keyboard.equals("int")) {
|
|
|
|
|
|