diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-09-22 00:21:18 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2016-09-22 01:03:18 +0900 |
commit | 5256f66f614d020e14f3b69d2f0837955934aac5 (patch) | |
tree | 4cc4aacdbe9763cfd2b02b03f56ea05cf8002671 | |
parent | 29fbf7f91d478a40bec2880e55bd9208157db24c (diff) | |
download | SmileEssence-5256f66f614d020e14f3b69d2f0837955934aac5.tar.gz |
Switching to Orma
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" } } |