building improvements: new versioning system and app ID (#30)
* new versioning system based on git * changed the application ID in compliance with the F-Droid inclusion policy * updated documentation
This commit is contained in:
parent
f4c93bf22b
commit
a250d66bbd
32 changed files with 130 additions and 114 deletions
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.nyanya.android.traditionalt9"
|
||||
package="io.github.sspanak.traditionalt9"
|
||||
android:versionCode="4"
|
||||
android:versionName="git" >
|
||||
|
||||
|
|
@ -22,7 +22,7 @@
|
|||
android:label="@string/ime_name"
|
||||
android:theme="@style/AppTheme" >
|
||||
<service
|
||||
android:name="org.nyanya.android.traditionalt9.TraditionalT9"
|
||||
android:name="io.github.sspanak.traditionalt9.TraditionalT9"
|
||||
android:permission="android.permission.BIND_INPUT_METHOD" >
|
||||
<intent-filter>
|
||||
<action android:name="android.view.InputMethod" />
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
<service android:name=".DBUpdateService" />
|
||||
|
||||
<activity
|
||||
android:name="org.nyanya.android.traditionalt9.TraditionalT9Settings"
|
||||
android:name="io.github.sspanak.traditionalt9.TraditionalT9Settings"
|
||||
android:label="@string/traditionalt9_settings" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
</activity>
|
||||
<activity
|
||||
android:theme="@android:style/Theme.Dialog"
|
||||
android:name="org.nyanya.android.traditionalt9.AddWordAct"
|
||||
android:name="io.github.sspanak.traditionalt9.AddWordAct"
|
||||
android:label="@string/title_activity_add_word"
|
||||
android:excludeFromRecents="true" >
|
||||
</activity>
|
||||
|
|
|
|||
53
README.md
53
README.md
|
|
@ -1,11 +1,33 @@
|
|||
# Traditional T9
|
||||
T9 IME input for Android devices with hardware keypad.
|
||||
TT9 is an IME (Input Method Editor) for Android devices with hardware keypad. It supports multiple languages and predictive text typing. _NOTE: TT9 is not usable on touchscreen-only devices._
|
||||
|
||||
This is a clone of the [original project](https://github.com/Clam-/TraditionalT9) by Clam-.
|
||||
|
||||
## About the project
|
||||
traditional-t9 is an Input Method Editor for Android that implements predictive text using the hardware keypad on the device. **Useless without a hardware numerical keypad.**
|
||||
## Building
|
||||
The recommended way of building is using Android Studio. As the of time of writing this, the current version is Android Studio Chipmunk | 2021.2.1 Patch 1.
|
||||
|
||||
Original Wiki: [Traditional T9 keypad IME for Android](https://github.com/Clam-/TraditionalT9/wiki/Traditional-T9-keypad-IME-for-Android)
|
||||
### Building a Debug .apk
|
||||
If you have not configure Android Studio yet, follow [the official manual](https://developer.android.com/training/basics/firstapp), then follow the simple steps below to get the project running.
|
||||
|
||||
- _Import the project in Android Studio._
|
||||
- _Prevent the "Default Activity not found" issue._ The app does not have a default view or a launcher icon. For this reason, you must configure Android Studio not to launch anything after installing, otherwise it will fail with "Default Activity not found" or a similar message. To do so:
|
||||
- Open "Edit Configurations..." (Press Shift 3 times and select it from the command list)
|
||||
- Go to "General" tab.
|
||||
- Change "Launch Options" to "Nothing"
|
||||
- Hit "OK"
|
||||
|
||||
That's it! Now you should be able to deploy and debug the app on your device.
|
||||
|
||||
You can find more info in this [Github issue](https://github.com/android/input-samples/issues/18).
|
||||
|
||||
### Building a Release .apk
|
||||
The project is configured to build an unsigned release variant by default. You just need to select the "release" variant from Android Studio options, then `Build -> Rebuild Project`. After that, just ignore all warnings until you get to the end of the process. You will find the `.apk` in the generated 'build/' folder.
|
||||
|
||||
### Building a Signed .apk
|
||||
- Make sure you have a signing key. If you don't have one, follow the [official manual](https://developer.android.com/studio/publish/app-signing#sign-apk).
|
||||
- In `build.gradle` find the `signingConfigs` and `buildTypes` sections and uncomment them.
|
||||
- Set properly the environment variables listed in `signingConfigs.release` _(You may need to restart Android Studio after that)_. Alternatively, you may simply type the actual key path, alias and passwords there. **Just make sure not to commit them!**
|
||||
- Build the project normally. Android Studio should show you where it has generated the signed `.apk` file. If not, look for it in the `build/` folder.
|
||||
|
||||
## Adding a new language
|
||||
To support a new language one needs to:
|
||||
|
|
@ -28,3 +50,26 @@ To support a new language one needs to:
|
|||
- Find a suitable dictionary and add it to assets
|
||||
|
||||
That should be it? I hope.
|
||||
|
||||
## Using the app
|
||||
TODO: Initial config, loading a dictionary...
|
||||
#### Configuration Options
|
||||
TODO...
|
||||
#### Hotkeys
|
||||
See [the original manual](https://github.com/Clam-/TraditionalT9/wiki/Hotkeys).
|
||||
#### Key Remapping
|
||||
See [the original manual](https://github.com/Clam-/TraditionalT9/wiki/Key-remapping).
|
||||
|
||||
## Word Lists
|
||||
Here is detailed information and licenses about the word lists used:
|
||||
- [Bulgarian word list](docs/bgWordlistReadme.txt)
|
||||
- [English word list](docs/enWordlistReadme.txt)
|
||||
- [French word list](docs/frWordlistReadme.txt)
|
||||
- [German word list](docs/deWordlistReadme.txt)
|
||||
- [Russian word list](docs/ruWordlistReadme.txt)
|
||||
- [Ukrainian word list](docs/ukWordlistReadme.txt)
|
||||
|
||||
## License
|
||||
- The source code, the logo image and the icons are licensed under the conditions described in [LICENSE.txt](LICENSE.txt).
|
||||
- "Roboto" font is under [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
||||
- The word lists / dictionaries are licensed under the licenses provided in the [respective readme files](#word-lists), where applicable.
|
||||
57
build.gradle
57
build.gradle
|
|
@ -7,10 +7,10 @@ buildscript {
|
|||
classpath 'com.android.tools.build:gradle:7.2.1'
|
||||
}
|
||||
}
|
||||
apply plugin: 'android'
|
||||
apply plugin: 'com.android.application'
|
||||
|
||||
dependencies {
|
||||
implementation "androidx.core:core:1.5.0"
|
||||
implementation "androidx.core:core:1.6.0"
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
|
@ -33,49 +33,22 @@ def execThing ( String cmdStr ) {
|
|||
standardOutput = stdout
|
||||
}
|
||||
}
|
||||
return stdout
|
||||
return stdout.toString().trim()
|
||||
}
|
||||
|
||||
def computeVersionCode = { ->
|
||||
String commitsCount = execThing("git rev-list --count HEAD")
|
||||
|
||||
return Integer.valueOf(commitsCount)
|
||||
}
|
||||
|
||||
def computeVersionName = { ->
|
||||
String tagsCount = execThing('git tag').split('\n').size() + 1 // initially, versions were 1-based
|
||||
String lastTag = execThing('git describe --tags --abbrev=0')
|
||||
String commitsSinceLastTag = execThing("git log $lastTag..HEAD --oneline").split('\n').size() + 1
|
||||
String currentHash = execThing('git log -1 --format=%h')
|
||||
|
||||
String ver = "git-source"
|
||||
try {
|
||||
if (execThing(" git status -z").toString().trim().equals("")) {
|
||||
return "git-" + execThing(' git log -1 --format="%h"').toString().trim()
|
||||
} else {
|
||||
return ver
|
||||
}
|
||||
} catch (all) {
|
||||
println "Cannot run git (not in path?), using default versioning"
|
||||
}
|
||||
|
||||
return ver
|
||||
}
|
||||
|
||||
def getProps() {
|
||||
Properties props = new Properties()
|
||||
File f = new File("t9build.properties")
|
||||
if (!f.exists()) {
|
||||
f.createNewFile()
|
||||
}
|
||||
props.load(new FileInputStream(f))
|
||||
return props
|
||||
}
|
||||
|
||||
def saveProps(Properties props) {
|
||||
props.store(new FileOutputStream(new File("t9build.properties")), null)
|
||||
}
|
||||
|
||||
// -PincrementBuildNumber assembleRelease
|
||||
def computeVersionNumber = { ->
|
||||
Properties props = getProps()
|
||||
int verNum = Integer.valueOf(props.getProperty("verNum", "0"))
|
||||
if (project.hasProperty('incrementBuildNumber')) {
|
||||
verNum++
|
||||
}
|
||||
props.setProperty("verNum", String.valueOf(verNum))
|
||||
saveProps(props)
|
||||
return verNum
|
||||
return "$tagsCount.$commitsSinceLastTag ($currentHash)"
|
||||
}
|
||||
|
||||
android {
|
||||
|
|
@ -106,7 +79,7 @@ android {
|
|||
defaultConfig {
|
||||
minSdkVersion 19
|
||||
targetSdk 30
|
||||
versionCode computeVersionNumber()
|
||||
versionCode computeVersionCode()
|
||||
versionName computeVersionName()
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
Bulgarian wordlist by: Miglen Georgiev
|
||||
Version: f46eff1 (2022-04-26)
|
||||
Words Count: 234114
|
||||
Source: https://github.com/miglen/bulgarian-wordlists
|
||||
Source: https://github.com/miglen/bulgarian-wordlists/blob/master/wordlists/bg-words-validated-cyrillic.txt
|
||||
License: https://github.com/miglen/bulgarian-wordlists/blob/master/LICENSE
|
||||
|
||||
All words validated against a real dictionary.
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
& source: http://www.winedt.org/Dict/
|
||||
% file: de_neu.dic (de)
|
||||
% version: 5 Jan 2005
|
||||
% version: 5 Jan 2005 / with modifications
|
||||
% New German spelling wordlist for WinEdt (or compatible) spellcheckers
|
||||
% wordcount: 532273 words
|
||||
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
Spell Checking Oriented Word Lists (SCOWL)
|
||||
// Source for English dictionary: http://wordlist.sourceforge.net/
|
||||
|
||||
Spell Checking Oriented Word Lists (SCOWL)
|
||||
Revision 7.1 (SVN Revision 161)
|
||||
January 6, 2011
|
||||
by Kevin Atkinson (kevina@gnu.org)
|
||||
|
|
|
|||
3
docs/frWordlistReadme.txt
Normal file
3
docs/frWordlistReadme.txt
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
French wordlist by: Christophe Pallier
|
||||
Source: http://www.pallier.org/ressources/dicofr/dicofr.html
|
||||
Words Count: 336531
|
||||
1
docs/ruWordlistReadme.txt
Normal file
1
docs/ruWordlistReadme.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
Source for Russian dictionary: Various sources from Russian user
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="text"
|
||||
android:privateImeOptions="org.nyanya.android.traditionalt9.addword=true" >
|
||||
android:privateImeOptions="io.github.sspanak.traditionalt9.addword=true" >
|
||||
|
||||
<requestFocus />
|
||||
</EditText>
|
||||
|
|
|
|||
|
|
@ -21,5 +21,5 @@
|
|||
<!-- for the Search Manager. -->
|
||||
|
||||
<input-method xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:settingsActivity="org.nyanya.android.traditionalt9.TraditionalT9Settings" >
|
||||
android:settingsActivity="io.github.sspanak.traditionalt9.TraditionalT9Settings" >
|
||||
</input-method>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Context;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
|
|
@ -10,7 +10,7 @@ import android.view.Menu;
|
|||
import android.view.View;
|
||||
import android.widget.EditText;
|
||||
|
||||
import org.nyanya.android.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import io.github.sspanak.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
|
||||
public class AddWordAct extends Activity {
|
||||
|
||||
|
|
@ -24,9 +24,9 @@ public class AddWordAct extends Activity {
|
|||
View v = getLayoutInflater().inflate(R.layout.addwordview, null);
|
||||
EditText et = (EditText) v.findViewById(R.id.add_word_text);
|
||||
Intent i = getIntent();
|
||||
origword = i.getStringExtra("org.nyanya.android.traditionalt9.word");
|
||||
origword = i.getStringExtra("io.github.sspanak.traditionalt9.word");
|
||||
|
||||
lang = i.getIntExtra("org.nyanya.android.traditionalt9.lang", -1);
|
||||
lang = i.getIntExtra("io.github.sspanak.traditionalt9.lang", -1);
|
||||
if (lang == -1) {
|
||||
Log.e("AddWordAct.onCreate", "lang is invalid. How?");
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import org.nyanya.android.traditionalt9.LangHelper.LANGUAGE;
|
||||
import io.github.sspanak.traditionalt9.LangHelper.LANGUAGE;
|
||||
|
||||
import java.util.AbstractList;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
public class DBException extends Exception {
|
||||
private static final long serialVersionUID = 376752656441823823L;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.app.IntentService;
|
||||
import android.app.Notification;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.os.Environment;
|
||||
import android.util.Log;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Locale;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.content.ContentValues;
|
||||
import android.content.Context;
|
||||
|
|
@ -14,7 +14,7 @@ import android.text.TextUtils;
|
|||
import android.util.Log;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.nyanya.android.traditionalt9.LangHelper.LANGUAGE;
|
||||
import io.github.sspanak.traditionalt9.LangHelper.LANGUAGE;
|
||||
|
||||
import java.util.AbstractList;
|
||||
import java.util.HashMap;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.res.Resources;
|
||||
|
|
@ -16,8 +16,8 @@ import android.view.inputmethod.EditorInfo;
|
|||
import android.view.inputmethod.InputConnection;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.nyanya.android.traditionalt9.LangHelper.LANGUAGE;
|
||||
import org.nyanya.android.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import io.github.sspanak.traditionalt9.LangHelper.LANGUAGE;
|
||||
import io.github.sspanak.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
|
||||
import java.util.AbstractList;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -213,8 +213,8 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
Intent awintent = new Intent(this, AddWordAct.class);
|
||||
awintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
awintent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||
awintent.putExtra("org.nyanya.android.traditionalt9.word", template);
|
||||
awintent.putExtra("org.nyanya.android.traditionalt9.lang", mLang.id);
|
||||
awintent.putExtra("io.github.sspanak.traditionalt9.word", template);
|
||||
awintent.putExtra("io.github.sspanak.traditionalt9.lang", mLang.id);
|
||||
clearState();
|
||||
currentInputConnection.setComposingText("", 0);
|
||||
currentInputConnection.finishComposingText();
|
||||
|
|
@ -376,7 +376,7 @@ public class TraditionalT9 extends InputMethodService implements
|
|||
}
|
||||
String prevword = null;
|
||||
if (attribute.privateImeOptions != null
|
||||
&& attribute.privateImeOptions.equals("org.nyanya.android.traditionalt9.addword=true")) {
|
||||
&& attribute.privateImeOptions.equals("io.github.sspanak.traditionalt9.addword=true")) {
|
||||
mAddingWord = true;
|
||||
// mAddingSkipInput = true;
|
||||
// Log.d("onStartInput", "ADDING WORD");
|
||||
|
|
@ -1,11 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
|
||||
/*
|
||||
Source for English dictionary: http://wordlist.sourceforge.net/
|
||||
Source for Russian dictionary: Various sources from Russian user
|
||||
Source for German dictionary: Modified version from http://www.winedt.org/Dict/
|
||||
Source for French dictionary: http://www.pallier.org/ressources/dicofr/dicofr.html
|
||||
*/
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
|
|
@ -33,11 +26,11 @@ import android.widget.Toast;
|
|||
|
||||
import com.stackoverflow.answer.UnicodeBOMInputStream;
|
||||
|
||||
import org.nyanya.android.traditionalt9.LangHelper.LANGUAGE;
|
||||
import org.nyanya.android.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import org.nyanya.android.traditionalt9.settings.CustomInflater;
|
||||
import org.nyanya.android.traditionalt9.settings.Setting;
|
||||
import org.nyanya.android.traditionalt9.settings.SettingAdapter;
|
||||
import io.github.sspanak.traditionalt9.LangHelper.LANGUAGE;
|
||||
import io.github.sspanak.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import io.github.sspanak.traditionalt9.settings.CustomInflater;
|
||||
import io.github.sspanak.traditionalt9.settings.Setting;
|
||||
import io.github.sspanak.traditionalt9.settings.SettingAdapter;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9;
|
||||
package io.github.sspanak.traditionalt9;
|
||||
|
||||
import android.text.InputType;
|
||||
import android.util.Log;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9.settings;
|
||||
package io.github.sspanak.traditionalt9.settings;
|
||||
|
||||
// http://stackoverflow.com/a/8488691
|
||||
|
||||
|
|
@ -22,7 +22,7 @@ public class CustomInflater {
|
|||
if (token == XmlPullParser.START_TAG) {
|
||||
if (!parser.getName().equals("Settings")) {
|
||||
//prepend package
|
||||
Class aClass = Class.forName("org.nyanya.android.traditionalt9.settings."+parser.getName());
|
||||
Class aClass = Class.forName("io.github.sspanak.traditionalt9.settings."+parser.getName());
|
||||
Class<?>[] params = new Class[]{Context.class, AttributeSet.class, isettings.getClass()};
|
||||
Constructor<?> constructor = aClass.getConstructor(params);
|
||||
try {
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
package org.nyanya.android.traditionalt9.settings;
|
||||
package io.github.sspanak.traditionalt9.settings;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
import org.nyanya.android.traditionalt9.R;
|
||||
import io.github.sspanak.traditionalt9.R;
|
||||
|
||||
public class Setting {
|
||||
String title;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9.settings;
|
||||
package io.github.sspanak.traditionalt9.settings;
|
||||
|
||||
// https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView
|
||||
|
||||
|
|
@ -9,7 +9,7 @@ import android.view.ViewGroup;
|
|||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.nyanya.android.traditionalt9.R;
|
||||
import io.github.sspanak.traditionalt9.R;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
package org.nyanya.android.traditionalt9.settings;
|
||||
package io.github.sspanak.traditionalt9.settings;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import org.nyanya.android.traditionalt9.R;
|
||||
import org.nyanya.android.traditionalt9.T9DB;
|
||||
import org.nyanya.android.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import io.github.sspanak.traditionalt9.R;
|
||||
import io.github.sspanak.traditionalt9.T9DB;
|
||||
import io.github.sspanak.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
|
||||
public class SettingCheck extends Setting {
|
||||
boolean value;
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
package org.nyanya.android.traditionalt9.settings;
|
||||
package io.github.sspanak.traditionalt9.settings;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import org.nyanya.android.traditionalt9.R;
|
||||
import org.nyanya.android.traditionalt9.T9DB;
|
||||
import org.nyanya.android.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import io.github.sspanak.traditionalt9.R;
|
||||
import io.github.sspanak.traditionalt9.T9DB;
|
||||
import io.github.sspanak.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
|
||||
public class SettingList extends Setting {
|
||||
String[] entries;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package org.nyanya.android.traditionalt9.settings;
|
||||
package io.github.sspanak.traditionalt9.settings;
|
||||
|
||||
import android.app.AlertDialog;
|
||||
import android.content.Context;
|
||||
|
|
@ -6,10 +6,10 @@ import android.content.DialogInterface;
|
|||
import android.util.AttributeSet;
|
||||
import android.widget.TextView;
|
||||
|
||||
import org.nyanya.android.traditionalt9.LangHelper;
|
||||
import org.nyanya.android.traditionalt9.R;
|
||||
import org.nyanya.android.traditionalt9.T9DB;
|
||||
import org.nyanya.android.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
import io.github.sspanak.traditionalt9.LangHelper;
|
||||
import io.github.sspanak.traditionalt9.R;
|
||||
import io.github.sspanak.traditionalt9.T9DB;
|
||||
import io.github.sspanak.traditionalt9.T9DB.DBSettings.SETTING;
|
||||
|
||||
public class SettingMultiList extends SettingList {
|
||||
boolean[] selectedEntries = new boolean[0];
|
||||
Loading…
Add table
Add a link
Reference in a new issue