Skip to content

Commit

Permalink
InputWords Update
Browse files Browse the repository at this point in the history
  • Loading branch information
QiubyZ committed Feb 22, 2024
1 parent 9cc2b1d commit dac2a5c
Show file tree
Hide file tree
Showing 9 changed files with 185 additions and 93 deletions.
28 changes: 14 additions & 14 deletions .androidide/editor/openedFiles.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
{
"allFiles": [
{
"file": "/storage/emulated/0/AndroidIDEProjects/QZ UserDict/app/src/main/java/qz/userdictionary/MainActivity.java",
"file": "/storage/emulated/0/AndroidIDEProjects/QZ UserDict/app/src/main/res/values/strings.xml",
"selection": {
"end": {
"column": 56,
"index": 2323,
"line": 62
"column": 32,
"index": 800,
"line": 16
},
"start": {
"column": 56,
"index": 2323,
"line": 62
"column": 18,
"index": 786,
"line": 16
}
}
},
{
"file": "/storage/emulated/0/AndroidIDEProjects/QZ UserDict/app/src/main/res/values/strings.xml",
"file": "/storage/emulated/0/AndroidIDEProjects/QZ UserDict/app/src/main/java/qz/userdictionary/MainActivity.java",
"selection": {
"end": {
"column": 32,
"index": 627,
"line": 13
"column": 0,
"index": 0,
"line": 0
},
"start": {
"column": 18,
"index": 613,
"line": 13
"column": 0,
"index": 0,
"line": 0
}
}
}
Expand Down
10 changes: 4 additions & 6 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>

<manifest
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android">

<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
Expand All @@ -9,7 +9,7 @@

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application
android:appComponentFactory="androidx.core.app.CoreComponentFactory"
android:requestLegacyExternalStorage="true"
Expand All @@ -30,18 +30,16 @@
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<meta-data
android:name="android.view.im"
android:resource="@xml/method" />
</activity>

<activity
android:exported="true"
android:name=".ViewModel.TeksAction">
<intent-filter>
<data android:mimeType="text/plain" />
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.PROCESS_TEXT" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

Expand Down
96 changes: 73 additions & 23 deletions app/src/main/java/qz/userdictionary/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package qz.userdictionary;

import android.content.Intent;
import android.content.res.ColorStateList;
import android.graphics.Color;
import android.os.Handler;
import android.os.Looper;
import android.provider.UserDictionary;
Expand All @@ -18,13 +20,13 @@
import qz.userdictionary.Model.UserDictionaryHelper;
import qz.userdictionary.ViewModel.mAdpView;
import qz.userdictionary.databinding.ActivityMainBinding;
import qz.userdictionary.R;

public class MainActivity extends AppCompatActivity {
ActivityMainBinding binding;
ArrayList<TextItems> textitem;
mAdpView adapter;
UserDictionaryHelper dictionary;
int MAX_LENGT = 101;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -35,9 +37,15 @@ protected void onCreate(Bundle savedInstanceState) {

// set content view to binding's root
setContentView(binding.getRoot());

if (getIntent() != null) {
String words = getIntent().getStringExtra(Intent.EXTRA_PROCESS_TEXT);
binding.checkleng.setText(words);
if (words != null) {
if (words.length() > MAX_LENGT) {
binding.viewCounter.setError(getString(R.string.warning_lenght));
}
binding.inputWords.setText(words);
}
}

textitem = new ArrayList<TextItems>();
Expand All @@ -46,10 +54,11 @@ protected void onCreate(Bundle savedInstanceState) {

binding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
binding.recyclerView.setAdapter(adapter);

textitem.addAll(dictionary.getListItem());
adapter.notifyDataSetChanged();
binding.tergetAngka.addTextChangedListener(

binding.inputTergetAngka.addTextChangedListener(
new TextWatcher() {

@Override
Expand All @@ -58,35 +67,40 @@ public void beforeTextChanged(

@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
String empt = binding.tergetAngka.getText().toString();
if (!empt.isEmpty()) {
if (!(Integer.valueOf(empt)> 101)) {
binding.viewCounter.setCounterMaxLength(Integer.valueOf(empt));
return;
}
binding.tergetAngka.setError(getResources().getString(R.string.warning_lenght));
}
String empt = binding.inputTergetAngka.getText().toString();
checktargetAngka(empt);
}

@Override
public void afterTextChanged(Editable arg0) {}
});

binding.checkleng.addTextChangedListener(
binding.inputWords.addTextChangedListener(
new TextWatcher() {
@Override
public void beforeTextChanged(
CharSequence arg0, int arg1, int arg2, int arg3) {}
public void beforeTextChanged(CharSequence t, int arg1, int arg2, int arg3) {}

@Override
public void onTextChanged(CharSequence text, int start, int before, int count) {
String TargetAngka = binding.tergetAngka.getText().toString();
if (TargetAngka.isEmpty() || TargetAngka.isBlank()) {
binding.tergetAngka.setText("45");
TargetAngka = binding.tergetAngka.getText().toString();
String TargetAngka = binding.inputTergetAngka.getText().toString();
if (TargetAngka.isBlank() || TargetAngka.isEmpty()) {
TargetAngka = "45";
binding.inputTergetAngka.setText(TargetAngka);
}
if (text.length() > MAX_LENGT) {
binding.viewCounter.setError(
getString(R.string.warning_lenght));
binding.viewCounter.setErrorTextColor(ColorStateList.valueOf(Color.RED));
binding.viewCounter.setErrorIconTintList(ColorStateList.valueOf(Color.RED));
}
else if (text.length() > Integer.valueOf(TargetAngka)) {
binding.viewCounter.setError(getString(R.string.warning_words));
binding.viewCounter.setErrorTextColor(ColorStateList.valueOf(R.color.grey));
binding.viewCounter.setErrorIconTintList(ColorStateList.valueOf(R.color.grey));
}
else {
binding.viewCounter.setErrorEnabled(false);
}
binding.viewCounter.setCounterMaxLength(Integer.valueOf(TargetAngka));

}

@Override
Expand All @@ -95,8 +109,8 @@ public void afterTextChanged(Editable arg0) {}

binding.add.setOnClickListener(
(v) -> {
String kata = binding.checkleng.getText().toString();
String keys = binding.keys.getText().toString();
String kata = binding.inputWords.getText().toString();
String keys = binding.inputKeys.getText().toString();

addData(
new TextItems(
Expand All @@ -110,6 +124,35 @@ public void afterTextChanged(Editable arg0) {}
(v) -> {
ClearAllDictionary();
});

binding.exportdict.setOnClickListener((v) -> {
pesan("TEST BUTTON");
});
binding.importdict.setOnClickListener((v) -> {
pesan("TEST BUTTON");
});
}

String getStringSource(int s){
return getResources().getString(s);
}
void setWarningMSG(boolean activate) {
if (activate) {}
}

void checktargetAngka(String empt) {
if (!empt.isEmpty()) {
if (!(Integer.valueOf(empt) > MAX_LENGT)) {
binding.viewCounter.setCounterMaxLength(Integer.valueOf(empt));
binding.viewCounter.setErrorEnabled(false);

} else {
binding.viewCounter.setErrorEnabled(true);
binding.inputTergetAngka.setError(
getResources().getString(R.string.warning_lenght));
binding.viewCounter.setError(getResources().getString(R.string.warning_lenght));
}
}
}

void ClearAllDictionary() {
Expand All @@ -127,6 +170,10 @@ void addData(TextItems item) {
adapter.notifyDataSetChanged();
}

void ExportDictionary() {}

void ImportDictionary() {}

@Override
protected void onStart() {
check();
Expand All @@ -139,4 +186,7 @@ void check() {
new Dialogs(this);
}
}
void pesan(String s){
Toast.makeText(this, s,Toast.LENGTH_SHORT).show();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,6 @@ public boolean isMyInputMethodEnabled() {
break;
}
}

return isEnabled;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@ public void onBindViewHolder(mAdpView.VH holder, int posisi) {
TextItems item = items.get(posisi);

UserDictionaryHelper dict = new UserDictionaryHelper(holder.bind.getRoot().getContext());

holder.bind.shortcut.setText(item.getShort());
holder.bind.freq.setText(String.valueOf(item.getFrek()));
holder.bind.textitem.setText(item.getText());
Expand Down
37 changes: 34 additions & 3 deletions app/src/main/res/layout/activity_main.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
android:inputType="number"
app:counterMaxLength="101"
app:errorEnabled="true"
android:id="@+id/tergetAngka" />
android:id="@+id/input_tergetAngka" />

</com.google.android.material.textfield.TextInputLayout>

Expand All @@ -29,8 +29,10 @@

<com.google.android.material.textfield.TextInputEditText
android:layout_height="wrap_content"
android:maxLines="1"
android:inputType="text"
android:layout_width="match_parent"
android:id="@+id/keys" />
android:id="@+id/input_keys" />

</com.google.android.material.textfield.TextInputLayout>

Expand All @@ -44,8 +46,10 @@
<com.google.android.material.textfield.TextInputEditText
android:layout_height="250dp"
android:gravity="top|left"
app:counterMaxLength="101"
app:errorEnabled="true"
android:layout_width="match_parent"
android:id="@+id/checkleng" />
android:id="@+id/input_words" />

</com.google.android.material.textfield.TextInputLayout>

Expand All @@ -57,13 +61,15 @@
android:orientation="horizontal">

<Button
android:layout_margin="2dp"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:text="@string/Add"
android:id="@+id/add" />

<Button
android:layout_margin="2dp"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
Expand All @@ -72,6 +78,31 @@

</LinearLayout>

<LinearLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center"
android:orientation="horizontal">

<Button
android:layout_margin="2dp"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:text="@string/exportDict"
android:id="@+id/exportdict" />

<Button
android:layout_margin="2dp"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_weight="1"
android:text="@string/importDict"
android:id="@+id/importdict" />

</LinearLayout>


<androidx.recyclerview.widget.RecyclerView
android:layout_height="match_parent"
android:layout_width="match_parent"
Expand Down
Loading

0 comments on commit dac2a5c

Please sign in to comment.