aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-09-22 00:21:18 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-09-22 01:03:18 +0900
commit5256f66f614d020e14f3b69d2f0837955934aac5 (patch)
tree4cc4aacdbe9763cfd2b02b03f56ea05cf8002671
parent29fbf7f91d478a40bec2880e55bd9208157db24c (diff)
downloadSmileEssence-5256f66f614d020e14f3b69d2f0837955934aac5.tar.gz
Switching to Orma
-rw-r--r--.idea/modules/app/app.iml17
-rw-r--r--app/build.gradle8
-rw-r--r--app/src/androidTest/java/net/lacolaco/smileessence/util/TwitterMock.java2
-rw-r--r--app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/Application.java12
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java6
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/command/CommandOpenSearch.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/Account.java (renamed from app/src/main/java/net/lacolaco/smileessence/entity/Account.java)130
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java (renamed from app/src/main/java/net/lacolaco/smileessence/entity/ExtractionWord.java)95
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/OrmaHolder.java19
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java (renamed from app/src/main/java/net/lacolaco/smileessence/entity/SearchQuery.java)53
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java1
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/UserStreamListener.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockIDsTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteMessageTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteStatusTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/DirectMessagesTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/FavoriteTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/FollowTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/GetTalkTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/GetUserListsTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/HomeTimelineTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/MentionsTimelineTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/MutesIDsTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/ReportForSpamTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/RetweetTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/SearchTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/SendMessageTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/SentDirectMessagesTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowDirectMessageTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowFriendshipTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowStatusTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowUserTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/UnblockTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfavoriteTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfollowTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/UserListStatusesTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/twitter/task/UserTimelineTask.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/viewmodel/StatusViewModel.java2
-rw-r--r--app/src/main/res/values/app_info.xml1
-rw-r--r--build.gradle1
54 files changed, 213 insertions, 219 deletions
diff --git a/.idea/modules/app/app.iml b/.idea/modules/app/app.iml
index f9a6f865..2fb34f0f 100644
--- a/.idea/modules/app/app.iml
+++ b/.idea/modules/app/app.iml
@@ -30,6 +30,7 @@
<content url="file://$MODULE_DIR$/../../../app">
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/dataBindingInfo/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/kapt/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/apt/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/r/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
@@ -81,11 +82,8 @@
<sourceFolder url="file://$MODULE_DIR$/../../../app/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/src/test/jni" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/../../../app/src/test/rs" isTestSource="true" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/data-binding-info" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/blame" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/builds" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/bundles" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/classes" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/data-binding-info" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/data-binding-layout-out" />
@@ -104,19 +102,16 @@
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/beta/1.1.4/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics-core/2.3.8/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.crashlytics.sdk.android/crashlytics/2.5.5/jars" />
+ <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.github.gfx.android.orma/orma-migration/2.6.0/jars" />
+ <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.github.gfx.android.orma/orma/2.6.0/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.navercorp.pulltorefresh/library/3.3.0-SNAPSHOT/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/com.squareup.leakcanary/leakcanary-android/1.4/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/de.keyboardsurfer.android.widget/crouton/1.8.5/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/exploded-aar/io.fabric.sdk.android/fabric/1.3.10/jars" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/incremental" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/incremental-classes" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/incremental-runtime-classes" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/incremental-verifier" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/instant-run-support" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/jniLibs" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/manifests" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/res" />
- <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/restart-dex" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/rs" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/sourceFolderJavaResources" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/symbols" />
@@ -135,8 +130,8 @@
<orderEntry type="library" exported="" name="haha-2.0.3" level="project" />
<orderEntry type="library" exported="" name="library-3.3.0-SNAPSHOT" level="project" />
<orderEntry type="library" exported="" name="leakcanary-analyzer-1.4" level="project" />
- <orderEntry type="library" exported="" name="activeandroid-3.1.0-SNAPSHOT" level="project" />
<orderEntry type="library" exported="" name="twitter4j-stream-4.0.4" level="project" />
+ <orderEntry type="library" exported="" name="antlr4-runtime-4.5" level="project" />
<orderEntry type="library" exported="" name="leakcanary-watcher-1.4" level="project" />
<orderEntry type="library" exported="" name="library-1.0-rc3" level="project" />
<orderEntry type="library" exported="" name="leakcanary-android-1.4" level="project" />
@@ -148,14 +143,18 @@
<orderEntry type="library" exported="" name="kotlin-stdlib-1.0.3" level="project" />
<orderEntry type="library" exported="" name="compiler-1.0-rc5" level="project" />
<orderEntry type="library" exported="" name="support-core-ui-24.2.1" level="project" />
+ <orderEntry type="library" exported="" name="rxjava-1.1.9" level="project" />
<orderEntry type="library" exported="" name="crashlytics-2.5.5" level="project" />
+ <orderEntry type="library" exported="" name="orma-annotations-2.6.0" level="project" />
<orderEntry type="library" exported="" name="baseLibrary-1.0-rc5" level="project" />
+ <orderEntry type="library" exported="" name="orma-2.6.0" level="project" />
<orderEntry type="library" exported="" name="support-core-utils-24.2.1" level="project" />
<orderEntry type="library" exported="" name="crashlytics-core-2.3.8" level="project" />
<orderEntry type="library" exported="" name="beta-1.1.4" level="project" />
<orderEntry type="library" exported="" name="support-annotations-24.2.1" level="project" />
<orderEntry type="library" exported="" name="twitter-text-1.13.0" level="project" />
<orderEntry type="library" exported="" name="crouton-1.8.5" level="project" />
+ <orderEntry type="library" exported="" name="orma-migration-2.6.0" level="project" />
<orderEntry type="library" exported="" name="twitter4j-media-support-4.0.4" level="project" />
<orderEntry type="library" exported="" name="kotlin-runtime-1.0.3" level="project" />
<orderEntry type="library" exported="" name="answers-1.3.6" level="project" />
diff --git a/app/build.gradle b/app/build.gradle
index c3e0e336..15f4be5b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -2,6 +2,7 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'io.fabric'
+apply plugin: "com.neenbedankt.android-apt"
android {
compileSdkVersion 24
@@ -57,8 +58,6 @@ dependencies {
compile 'com.android.support:support-v13:24.+'
// volley
compile 'com.mcxiaoke.volley:library:1.0.19'
- // ActiveAndroid
- compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
// crouton
compile('de.keyboardsurfer.android.widget:crouton:1.8.5@aar') {
// exclusion is not necessary, but generally a good idea.
@@ -85,7 +84,10 @@ dependencies {
}
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
- kapt 'com.android.databinding:compiler:+'
+ kapt 'com.android.databinding:compiler:2.2.0'
+
+ kapt "com.github.gfx.android.orma:orma-processor:2.6.0"
+ compile "com.github.gfx.android.orma:orma:2.6.0"
}
kapt {
diff --git a/app/src/androidTest/java/net/lacolaco/smileessence/util/TwitterMock.java b/app/src/androidTest/java/net/lacolaco/smileessence/util/TwitterMock.java
index 16547d12..a111c76e 100644
--- a/app/src/androidTest/java/net/lacolaco/smileessence/util/TwitterMock.java
+++ b/app/src/androidTest/java/net/lacolaco/smileessence/util/TwitterMock.java
@@ -26,7 +26,7 @@ package net.lacolaco.smileessence.util;
import android.content.Context;
import android.content.res.AssetManager;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.entity.User;
diff --git a/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java b/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java
index 0bdf46cd..c37d3551 100644
--- a/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java
+++ b/app/src/androidTest/java/net/lacolaco/smileessence/view/adapter/OrderedCustomListAdapterTest.java
@@ -26,7 +26,7 @@ package net.lacolaco.smileessence.view.adapter;
import android.test.ActivityInstrumentationTestCase2;
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.util.TwitterMock;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
diff --git a/app/src/main/java/net/lacolaco/smileessence/Application.java b/app/src/main/java/net/lacolaco/smileessence/Application.java
index 3c365d3c..88c6ca5d 100644
--- a/app/src/main/java/net/lacolaco/smileessence/Application.java
+++ b/app/src/main/java/net/lacolaco/smileessence/Application.java
@@ -24,13 +24,13 @@
package net.lacolaco.smileessence;
-import com.activeandroid.ActiveAndroid;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
import com.squareup.leakcanary.LeakCanary;
import com.squareup.leakcanary.RefWatcher;
import io.fabric.sdk.android.Fabric;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.OrmaHolder;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.logging.Logger;
import net.lacolaco.smileessence.preference.UserPreferenceHelper;
import net.lacolaco.smileessence.util.Themes;
@@ -56,18 +56,12 @@ public class Application extends android.app.Application {
public void onCreate() {
super.onCreate();
Fabric.with(this, new Crashlytics.Builder().core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build());
- ActiveAndroid.initialize(this, true);
+ OrmaHolder.initialize(this);
instance = this; // プロセスの寿命の間 1 度しか呼ばれないので安全
refWatcher = LeakCanary.install(this);
Logger.debug("onCreate");
}
- @Override
- public void onTerminate() {
- super.onTerminate();
- ActiveAndroid.dispose();
- }
-
// --------------------- reset ---------------------
public void resetState() {
currentAccount = null;
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java
index ed2c784b..04fb25e3 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java
@@ -36,7 +36,7 @@ import android.widget.ListView;
import android.widget.TextView;
import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
-import net.lacolaco.smileessence.entity.ExtractionWord;
+import net.lacolaco.smileessence.data.ExtractionWord;
import net.lacolaco.smileessence.entity.IdObject;
import net.lacolaco.smileessence.logging.Logger;
import net.lacolaco.smileessence.view.DialogHelper;
@@ -189,7 +189,7 @@ public class EditExtractionActivity extends Activity implements AdapterView.OnIt
private void initializeViews() {
ListView listView = getListView();
adapter = new OrderedCustomListAdapter<>(this);
- for (ExtractionWord ew : ExtractionWord.all()) {
+ for (ExtractionWord ew : ExtractionWord.cached()) {
adapter.addItem(new ExtractionWordViewModel(ew));
}
adapter.update();
@@ -230,7 +230,7 @@ public class EditExtractionActivity extends Activity implements AdapterView.OnIt
@Override
public long getId() {
- return ew.getModelId();
+ return ew.getId();
}
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.java
index d65800d6..74cf3a50 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.java
@@ -46,7 +46,6 @@ public class LicenseActivity extends Activity {
apacheFiles.add(getString(R.string.library_name_crouton));
apacheFiles.add(getString(R.string.library_name_pull_to_refresh));
apacheFiles.add(getString(R.string.library_name_volley));
- apacheFiles.add(getString(R.string.library_name_activeandroid));
apacheFiles.add(getString(R.string.library_name_guava));
apacheFiles.add(getString(R.string.library_name_twitter_text));
return apacheFiles;
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java
index ea8b012c..823d23d3 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java
@@ -47,6 +47,8 @@ import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.BuildConfig;
import net.lacolaco.smileessence.IntentRouter;
import net.lacolaco.smileessence.R;
+import net.lacolaco.smileessence.data.Account;
+import net.lacolaco.smileessence.data.ExtractionWord;
import net.lacolaco.smileessence.data.PostState;
import net.lacolaco.smileessence.entity.*;
import net.lacolaco.smileessence.logging.Logger;
diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
index f310e4c5..db09f42b 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
@@ -36,7 +36,7 @@ import com.android.volley.toolbox.NetworkImageView;
import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.data.ImageCache;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.logging.Logger;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.preference.InternalPreferenceHelper;
diff --git a/app/src/main/java/net/lacolaco/smileessence/command/CommandOpenSearch.java b/app/src/main/java/net/lacolaco/smileessence/command/CommandOpenSearch.java
index 65f68e0b..b8238f74 100644
--- a/app/src/main/java/net/lacolaco/smileessence/command/CommandOpenSearch.java
+++ b/app/src/main/java/net/lacolaco/smileessence/command/CommandOpenSearch.java
@@ -26,7 +26,7 @@ package net.lacolaco.smileessence.command;
import android.app.Activity;
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.entity.SearchQuery;
+import net.lacolaco.smileessence.data.SearchQuery;
public class CommandOpenSearch extends Command {
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/Account.java b/app/src/main/java/net/lacolaco/smileessence/data/Account.java
index 7806e34c..1967cd7f 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/Account.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/Account.java
@@ -22,12 +22,14 @@
* SOFTWARE.
*/
-package net.lacolaco.smileessence.entity;
-
-import com.activeandroid.annotation.Column;
-import com.activeandroid.annotation.Table;
-import com.activeandroid.query.Select;
-import net.lacolaco.smileessence.logging.Logger;
+package net.lacolaco.smileessence.data;
+
+import com.github.gfx.android.orma.annotation.Column;
+import com.github.gfx.android.orma.annotation.PrimaryKey;
+import com.github.gfx.android.orma.annotation.Table;
+import net.lacolaco.smileessence.entity.DirectMessage;
+import net.lacolaco.smileessence.entity.Tweet;
+import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.twitter.task.BlockIDsTask;
import net.lacolaco.smileessence.twitter.task.GetUserListsTask;
import net.lacolaco.smileessence.twitter.task.MutesIDsTask;
@@ -41,13 +43,33 @@ import twitter4j.auth.AccessToken;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
+@Table
public class Account {
private static Map<Long, Account> cache; // model id -> Account
private User user;
- private Model model;
private final Set<String> listSubscriptions = Collections.newSetFromMap(new ConcurrentHashMap<>());
private final Set<Long> muteUserIds = Collections.newSetFromMap(new ConcurrentHashMap<>());
+ @PrimaryKey
+ long id;
+ @Column
+ public String oauthToken;
+ @Column
+ public String oauthTokenSecret;
+ @Column
+ public long userId;
+ @Column
+ public String screenName;
+
+ public Account() { }
+
+ public Account(long userId, String screenName, String token, String tokenSecret) {
+ this.userId = userId;
+ this.screenName = screenName;
+ this.oauthToken = token;
+ this.oauthTokenSecret = tokenSecret;
+ }
+
// --------------------- static methods ---------------------
public static synchronized Account get(long i) {
if (cache == null) {
@@ -66,81 +88,78 @@ public class Account {
public static synchronized void load() {
cache = new LinkedHashMap<>();
- List<Model> all = new Select().from(Model.class).execute();
- for (Model model : all) {
- cache.put(model.getId(), new Account(model));
- Logger.info("lod" + model.userID);
- }
+ for (Account item : relation().selector())
+ cache.put(item.id, item);
+ }
+
+ private static Account_Relation relation() {
+ OrmaDatabase orma = OrmaHolder.getORMA();
+ return orma.relationOfAccount();
}
- public static synchronized Account register(String token, String tokenSecret, long userID, String screenName) {
+ public static synchronized Account register(String token, String tokenSecret, long userId, String screenName) {
Account account = null;
for (Account a : all()) {
- if (a.getUserId() == userID) {
+ if (a.getUserId() == userId) {
account = a;
break;
}
}
- if (account == null) {
- Model model = new Model(token, tokenSecret, userID, screenName);
- model.save();
- account = new Account(model);
- cache.put(model.getId(), account);
- Logger.error("new" + model.getId());
- } else {
- Model model = account.model;
- model.accessToken = token;
- model.accessSecret = tokenSecret;
- model.screenName = screenName;
- model.save();
- Logger.error("upd" + model.getId());
- }
+ if (account == null)
+ account = new Account();
+ account.userId = userId;
+ account.screenName = screenName;
+ account.oauthToken = token;
+ account.oauthTokenSecret = tokenSecret;
+
+ if (account.id == 0)
+ relation().inserter().execute(account);
+ else
+ relation().upserter().execute(account);
+
+ cache.put(account.id, account);
+
return account;
}
public static synchronized Account unregister(long modelId) {
Account account = cache.remove(modelId);
if (account != null) {
- Model.delete(Model.class, modelId);
+ relation().deleter().idEq(modelId).execute();
}
return account;
}
- // --------------------- instance methods ---------------------
- private Account(Model model) {
- this.model = model;
- }
-
public long getUserId() {
- return model.userID;
+ return userId;
}
public long getModelId() {
- return model.getId();
+ return id;
}
public Twitter getTwitter() {
Twitter twitter = new TwitterFactory().getInstance();
- twitter.setOAuthAccessToken(new AccessToken(model.accessToken, model.accessSecret));
+ twitter.setOAuthAccessToken(new AccessToken(oauthToken, oauthTokenSecret));
return twitter;
}
public TwitterStream getTwitterStream() {
TwitterStream stream = new TwitterStreamFactory().getInstance();
- stream.setOAuthAccessToken(new AccessToken(model.accessToken, model.accessSecret));
+ stream.setOAuthAccessToken(new AccessToken(oauthToken, oauthTokenSecret));
return stream;
}
public User getUser() {
if (user == null) {
- user = User.fetch(model.userID);
+ user = User.fetch(userId);
if (user == null) {
- user = User._makeSkeleton(getUserId(), model.screenName);
+ user = User._makeSkeleton(userId, screenName);
}
user.addObserver(this, (objs) -> {
- if (!model.screenName.equals(user.getScreenName())) {
- model.screenName = user.getScreenName();
- model.save();
+ if (!screenName.equals(user.getScreenName())) {
+ screenName = user.getScreenName();
+ relation().upserter().execute(this);
}
});
}
@@ -192,29 +211,4 @@ public class Account {
public boolean isMutedUserListContains(long id) {
return muteUserIds.contains(id);
}
-
- @Table(name = "Accounts")
- public static class Model extends com.activeandroid.Model {
- @Column(name = "Token", notNull = true)
- private String accessToken;
- @Column(name = "Secret", notNull = true)
- private String accessSecret;
- @Column(name = "UserID", notNull = true)
- private long userID;
- @Column(name = "ScreenName", notNull = true)
- private String screenName;
-
- // Required by ActiveAndroid
- public Model() {
- super();
- }
-
- public Model(String token, String tokenSecret, long userID, String screenName) {
- this();
- this.accessToken = token;
- this.accessSecret = tokenSecret;
- this.userID = userID;
- this.screenName = screenName;
- }
- }
} \ No newline at end of file
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/ExtractionWord.java b/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
index e9b501fc..935d1002 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/ExtractionWord.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
@@ -22,95 +22,84 @@
* SOFTWARE.
*/
-package net.lacolaco.smileessence.entity;
+package net.lacolaco.smileessence.data;
-import com.activeandroid.annotation.Column;
-import com.activeandroid.annotation.Table;
-import com.activeandroid.query.Select;
+import com.github.gfx.android.orma.annotation.Column;
+import com.github.gfx.android.orma.annotation.OnConflict;
+import com.github.gfx.android.orma.annotation.PrimaryKey;
+import com.github.gfx.android.orma.annotation.Table;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.regex.Pattern;
-
+@Table
public class ExtractionWord {
private static Map<Long, ExtractionWord> cache; // model id -> Account
+ private static Object mutex = new Object();
private Pattern pattern;
- private Model model;
- // --------------------- static methods ---------------------
- public static synchronized int count() {
- return cache.size();
- }
+ @PrimaryKey
+ long id;
+ @Column(uniqueOnConflict = OnConflict.REPLACE)
+ String patternString;
- public static synchronized List<ExtractionWord> all() {
- return new ArrayList<>(cache.values());
+ // --------------------- static methods ---------------------
+ public static List<ExtractionWord> cached() {
+ synchronized(mutex) {
+ return new ArrayList<>(cache.values());
+ }
}
public static synchronized void load() {
- cache = new LinkedHashMap<>();
- List<Model> all = new Select().from(Model.class).execute();
- for (Model model : all) {
- cache.put(model.getId(), new ExtractionWord(model));
+ synchronized(mutex) {
+ cache = new LinkedHashMap<>();
+ OrmaDatabase orma = OrmaHolder.getORMA();
+ for (ExtractionWord item : orma.selectFromExtractionWord().toList())
+ cache.put(item.id, item);
}
}
public static synchronized ExtractionWord add(String patternString) {
- Model model = new Model();
- model.text = patternString;
- model.save();
- ExtractionWord extractionWord = new ExtractionWord(model);
- cache.put(model.getId(), extractionWord);
- return extractionWord;
- }
-
- public static synchronized ExtractionWord remove(long modelId) {
- ExtractionWord extractionWord = cache.remove(modelId);
- if (extractionWord != null) {
- Model.delete(Model.class, modelId);
+ ExtractionWord extractionWord = new ExtractionWord(patternString);
+ OrmaDatabase orma = OrmaHolder.getORMA();
+ orma.insertIntoExtractionWord(extractionWord);
+ synchronized(mutex) {
+ cache.put(extractionWord.id, extractionWord);
}
return extractionWord;
}
- // --------------------- instance methods ---------------------
- private ExtractionWord(Model model) {
- this.model = model;
- this.pattern = Pattern.compile(model.text);
+ public ExtractionWord() { }
+
+ private ExtractionWord(String patternString) {
+ this.patternString = patternString;
}
public Pattern getPattern() {
+ if (pattern == null)
+ pattern = Pattern.compile(patternString);
return pattern;
}
public String getPatternString() {
- return model.text;
+ return patternString;
}
public void remove() {
- Model.delete(Model.class, getModelId());
- cache.remove(getModelId());
+ OrmaDatabase orma = OrmaHolder.getORMA();
+ orma.deleteFromExtractionWord().idEq(id);
+ cache.remove(id);
}
public void update(String newString) {
- model.text = newString;
- model.save();
+ patternString = newString;
pattern = Pattern.compile(newString);
- }
- public long getModelId() {
- return model.getId();
+ OrmaDatabase orma = OrmaHolder.getORMA();
+ orma.updateExtractionWord();
}
- @Table(name = "Extraction")
- public static class Model extends com.activeandroid.Model {
- @Column(name = "Text", notNull = true)
- public String text;
-
- // required by ActiveAndroid
- public Model() {
- super();
- }
+ public long getId() {
+ return id;
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/data/OrmaHolder.java b/app/src/main/java/net/lacolaco/smileessence/data/OrmaHolder.java
new file mode 100644
index 00000000..5fd41c0c
--- /dev/null
+++ b/app/src/main/java/net/lacolaco/smileessence/data/OrmaHolder.java
@@ -0,0 +1,19 @@
+package net.lacolaco.smileessence.data;
+
+import android.content.Context;
+import com.github.gfx.android.orma.AccessThreadConstraint;
+
+public class OrmaHolder {
+ private static OrmaDatabase ORMA;
+
+ public static void initialize(Context context) {
+ ORMA = OrmaDatabase
+ .builder(context)
+ .writeOnMainThread(AccessThreadConstraint.WARNING)
+ .build();
+ }
+
+ public static OrmaDatabase getORMA() {
+ return ORMA;
+ }
+}
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/SearchQuery.java b/app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java
index 002f5e7d..d31a2973 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/SearchQuery.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java
@@ -22,58 +22,53 @@
* SOFTWARE.
*/
-package net.lacolaco.smileessence.entity;
+package net.lacolaco.smileessence.data;
-import com.activeandroid.Model;
-import com.activeandroid.annotation.Column;
-import com.activeandroid.annotation.Table;
-import com.activeandroid.query.Select;
+import com.github.gfx.android.orma.annotation.Column;
+import com.github.gfx.android.orma.annotation.OnConflict;
+import com.github.gfx.android.orma.annotation.PrimaryKey;
+import com.github.gfx.android.orma.annotation.Table;
import java.util.Date;
import java.util.List;
-@Table(name = "SearchQueries")
-public class SearchQuery extends Model {
+@Table
+public class SearchQuery {
// ------------------------------ FIELDS ------------------------------
- @Column(name = "Query", unique = true)
- public String query;
+ @PrimaryKey
+ long id;
- @Column(name = "CreatedAt")
- public Date createdAt;
+ @Column(uniqueOnConflict = OnConflict.REPLACE)
+ public String query;
// -------------------------- STATIC METHODS --------------------------
- public SearchQuery() {
- super();
- }
+ public SearchQuery() { }
- public SearchQuery(String query, Date createdAt) {
+ public SearchQuery(String query) {
this.query = query;
- this.createdAt = createdAt;
}
public static List<SearchQuery> getAll() {
- return new Select().from(SearchQuery.class).orderBy("CreatedAt DESC").execute();
+ OrmaDatabase orma = OrmaHolder.getORMA();
+ return orma.selectFromSearchQuery().toList();
}
// --------------------------- CONSTRUCTORS ---------------------------
- /**
- * @param query
- * @return
- */
public static boolean saveIfNotFound(String query) {
- if (findByQuery(query) != null) {
- return false;
- } else {
- new SearchQuery(query, new Date()).save();
- return true;
- }
+ OrmaDatabase orma = OrmaHolder.getORMA();
+
+ orma.insertIntoSearchQuery(new SearchQuery(query));
+
+ return true;
}
- public static SearchQuery findByQuery(String query) {
- return new Select().from(SearchQuery.class).where("Query = ?", query).executeSingle();
+ public void delete() {
+ OrmaDatabase orma = OrmaHolder.getORMA();
+
+ orma.deleteFromSearchQuery().idEq(id).execute();
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java b/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java
index 670d9181..0515c2b5 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java
+++ b/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java
@@ -3,6 +3,7 @@ package net.lacolaco.smileessence.entity;
import android.net.Uri;
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.twitter.task.ShowStatusTask;
import net.lacolaco.smileessence.util.BackgroundTask;
import net.lacolaco.smileessence.util.ListUtils;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/UserStreamListener.java b/app/src/main/java/net/lacolaco/smileessence/twitter/UserStreamListener.java
index f43c29ad..ff3657e6 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/UserStreamListener.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/UserStreamListener.java
@@ -25,7 +25,7 @@
package net.lacolaco.smileessence.twitter;
import net.lacolaco.smileessence.R;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.entity.User;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockIDsTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockIDsTask.java
index e5c4859b..0fe510c2 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockIDsTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockIDsTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.IDs;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockTask.java
index 4679f3e3..620758c8 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/BlockTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteMessageTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteMessageTask.java
index c4a39927..4e35c7a9 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteMessageTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteMessageTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteStatusTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteStatusTask.java
index 04ad84bd..e21e79e9 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteStatusTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/DeleteStatusTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/DirectMessagesTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/DirectMessagesTask.java
index f9c1a015..f431fc85 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/DirectMessagesTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/DirectMessagesTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/FavoriteTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/FavoriteTask.java
index 4a9a1628..bc537ba2 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/FavoriteTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/FavoriteTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/FollowTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/FollowTask.java
index 66da4ab8..f38b1756 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/FollowTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/FollowTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetTalkTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetTalkTask.java
index 7f9551ea..2c82493a 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetTalkTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetTalkTask.java
@@ -1,6 +1,6 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetUserListsTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetUserListsTask.java
index 57f35f91..d92d405d 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetUserListsTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/GetUserListsTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.util.BackgroundTask;
import net.lacolaco.smileessence.util.ListUtils;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/HomeTimelineTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/HomeTimelineTask.java
index 33a4b47b..798835b0 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/HomeTimelineTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/HomeTimelineTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/MentionsTimelineTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/MentionsTimelineTask.java
index 3aa04e13..c2448b01 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/MentionsTimelineTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/MentionsTimelineTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/MutesIDsTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/MutesIDsTask.java
index a3043d72..13872dd6 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/MutesIDsTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/MutesIDsTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.IDs;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ReportForSpamTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ReportForSpamTask.java
index 08559b13..ef84e598 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ReportForSpamTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ReportForSpamTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/RetweetTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/RetweetTask.java
index 7ba193ab..03cf7a54 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/RetweetTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/RetweetTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/SearchTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/SearchTask.java
index 4f766592..fba66723 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/SearchTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/SearchTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.Query;
import twitter4j.QueryResult;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/SendMessageTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/SendMessageTask.java
index 09b3d218..28e70a90 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/SendMessageTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/SendMessageTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/SentDirectMessagesTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/SentDirectMessagesTask.java
index b202f36d..795d8118 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/SentDirectMessagesTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/SentDirectMessagesTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowDirectMessageTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowDirectMessageTask.java
index 72004998..05268dcc 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowDirectMessageTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowDirectMessageTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowFriendshipTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowFriendshipTask.java
index 562719cc..6e21a2d5 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowFriendshipTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowFriendshipTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.Relationship;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowStatusTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowStatusTask.java
index 4c624b0e..80c6b0c4 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowStatusTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowStatusTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowUserTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowUserTask.java
index 22e962e3..1334caf1 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowUserTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/ShowUserTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java
index f665a558..c60d5ffc 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/TweetTask.java
@@ -29,7 +29,7 @@ import android.graphics.BitmapFactory;
import android.os.Environment;
import android.text.TextUtils;
import net.lacolaco.smileessence.R;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.logging.Logger;
import net.lacolaco.smileessence.notification.Notificator;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnblockTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnblockTask.java
index d2444e9d..30377bb5 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnblockTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnblockTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfavoriteTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfavoriteTask.java
index 3f591ca5..62587b5e 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfavoriteTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfavoriteTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfollowTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfollowTask.java
index 849a080a..da825aeb 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfollowTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UnfollowTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.User;
import net.lacolaco.smileessence.util.BackgroundTask;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserListStatusesTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserListStatusesTask.java
index 9cb2b9de..c54a703b 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserListStatusesTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserListStatusesTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserTimelineTask.java b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserTimelineTask.java
index d8bf72c2..c4d97842 100644
--- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserTimelineTask.java
+++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/UserTimelineTask.java
@@ -24,7 +24,7 @@
package net.lacolaco.smileessence.twitter.task;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.Tweet;
import twitter4j.TwitterException;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java
index b0e8f709..c000976c 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.java
@@ -37,7 +37,7 @@ import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandOpenURL;
import net.lacolaco.smileessence.command.CommandOpenUserDetail;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.twitter.task.DeleteMessageTask;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java
index f2be1cfc..a0435d6f 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/SelectSearchQueryDialogFragment.java
@@ -34,7 +34,7 @@ import android.widget.ListView;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandOpenSearch;
-import net.lacolaco.smileessence.entity.SearchQuery;
+import net.lacolaco.smileessence.data.SearchQuery;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.view.adapter.UnorderedCustomListAdapter;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
index 83933346..c1f1a821 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/StatusDetailDialogFragment.java
@@ -41,7 +41,7 @@ import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandOpenURL;
import net.lacolaco.smileessence.command.CommandOpenUserDetail;
import net.lacolaco.smileessence.data.PostState;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.RBinding;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.notification.Notificator;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java
index 88b51f03..369d5b07 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.java
@@ -32,7 +32,7 @@ import android.widget.ListView;
import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.twitter.task.GetTalkTask;
import net.lacolaco.smileessence.view.adapter.UnorderedCustomListAdapter;
import net.lacolaco.smileessence.viewmodel.StatusViewModel;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
index 5f692420..d63fa1e1 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java
@@ -42,7 +42,7 @@ import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.data.ImageCache;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.RBinding;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.entity.User;
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.java
index 3c27ca57..46823e00 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.java
@@ -29,7 +29,7 @@ import android.widget.ListView;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
-import net.lacolaco.smileessence.entity.ExtractionWord;
+import net.lacolaco.smileessence.data.ExtractionWord;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.preference.UserPreferenceHelper;
@@ -61,7 +61,7 @@ public class MentionsFragment extends CustomListFragment<StatusListAdapter> {
adapter.addItem(vm);
adapter.update();
} else {
- for (ExtractionWord word : ExtractionWord.all()) {
+ for (ExtractionWord word : ExtractionWord.cached()) {
if (word.getPattern().matcher(tweet.getOriginalTweet().getText()).find()) {
adapter.addItem(vm);
adapter.update();
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java
index 2308b3b2..03dd0cf3 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java
@@ -41,8 +41,8 @@ import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.command.Command;
import net.lacolaco.smileessence.command.CommandOpenSearch;
-import net.lacolaco.smileessence.entity.Account;
-import net.lacolaco.smileessence.entity.SearchQuery;
+import net.lacolaco.smileessence.data.Account;
+import net.lacolaco.smileessence.data.SearchQuery;
import net.lacolaco.smileessence.entity.Tweet;
import net.lacolaco.smileessence.notification.Notificator;
import net.lacolaco.smileessence.preference.InternalPreferenceHelper;
diff --git a/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java b/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java
index 23b96ba0..69397a5c 100644
--- a/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java
+++ b/app/src/main/java/net/lacolaco/smileessence/viewmodel/MessageViewModel.java
@@ -34,7 +34,7 @@ import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.data.ImageCache;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.DirectMessage;
import net.lacolaco.smileessence.entity.IdObject;
import net.lacolaco.smileessence.entity.RBinding;
diff --git a/app/src/main/java/net/lacolaco/smileessence/viewmodel/StatusViewModel.java b/app/src/main/java/net/lacolaco/smileessence/viewmodel/StatusViewModel.java
index 5e59a986..629244d6 100644
--- a/app/src/main/java/net/lacolaco/smileessence/viewmodel/StatusViewModel.java
+++ b/app/src/main/java/net/lacolaco/smileessence/viewmodel/StatusViewModel.java
@@ -35,7 +35,7 @@ import com.android.volley.toolbox.NetworkImageView;
import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.data.ImageCache;
-import net.lacolaco.smileessence.entity.Account;
+import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.entity.IdObject;
import net.lacolaco.smileessence.entity.RBinding;
import net.lacolaco.smileessence.entity.Tweet;
diff --git a/app/src/main/res/values/app_info.xml b/app/src/main/res/values/app_info.xml
index 22c92c12..a5db054e 100644
--- a/app/src/main/res/values/app_info.xml
+++ b/app/src/main/res/values/app_info.xml
@@ -30,7 +30,6 @@
<string name="app_author">Developed by laco0416</string>
<string name="app_thanks_to">Thanks to</string>
<string name="thanks_to">miz_hi, yaplus, firstspring1845, ahiru3net, unyuho123, karno, ret156, vividtomato_, hoyo203, brsywe, NTTrf, mikamikafever</string>
- <string name="library_name_activeandroid">ActiveAndroid</string>
<string name="library_name_guava">Guava</string>
<string name="library_name_twitter_text">twitter-text</string>
<string name="library_name_twitter4j">twitter4j</string>
diff --git a/build.gradle b/build.gradle
index fe1e9c0e..d036ea0c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -12,6 +12,7 @@ buildscript {
classpath 'me.tatarka:gradle-retrolambda:3.2.3'
classpath 'io.fabric.tools:gradle:1.+'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+ classpath "com.neenbedankt.gradle.plugins:android-apt:1.8"
}
}