aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2016-09-22 15:10:00 +0900
committerKazuki Yamaguchi <k@rhe.jp>2016-09-22 15:10:00 +0900
commit2f4ba0aa001203de6ff80465ae0d7ce990b67b17 (patch)
treedf07d2b6f0054e732b2f36e6ec5845b2cc1caab6
parente800f6634ed29f203497fb1849ed7c9273215e02 (diff)
downloadSmileEssence-2f4ba0aa001203de6ff80465ae0d7ce990b67b17.tar.gz
fix db
-rw-r--r--.idea/modules/app/app.iml9
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java29
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java6
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/Account.java27
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java36
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java19
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.java2
7 files changed, 41 insertions, 87 deletions
diff --git a/.idea/modules/app/app.iml b/.idea/modules/app/app.iml
index a236e834..6b68f799 100644
--- a/.idea/modules/app/app.iml
+++ b/.idea/modules/app/app.iml
@@ -107,10 +107,19 @@
<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/reload-dex" />
<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" />
+ <excludeFolder url="file://$MODULE_DIR$/../../../app/build/intermediates/transforms" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/outputs" />
<excludeFolder url="file://$MODULE_DIR$/../../../app/build/tmp" />
</content>
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 833817d2..c53a4e1f 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.java
@@ -44,7 +44,7 @@ import net.lacolaco.smileessence.view.adapter.OrderedCustomListAdapter;
import net.lacolaco.smileessence.view.dialog.EditTextDialogFragment;
import net.lacolaco.smileessence.viewmodel.IViewModel;
-public class EditExtractionActivity extends Activity implements AdapterView.OnItemClickListener, AbsListView.MultiChoiceModeListener {
+public class EditExtractionActivity extends Activity implements AbsListView.MultiChoiceModeListener {
// ------------------------------ FIELDS ------------------------------
@@ -95,13 +95,6 @@ public class EditExtractionActivity extends Activity implements AdapterView.OnIt
public void onItemCheckedStateChanged(ActionMode mode, int position, long id, boolean checked) {
}
- // --------------------- Interface OnItemClickListener ---------------------
-
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- openEditExtractionWordDialog(position);
- }
-
// ------------------------ OVERRIDE METHODS ------------------------
@Override
@@ -152,23 +145,6 @@ public class EditExtractionActivity extends Activity implements AdapterView.OnIt
updateListView();
}
- public void openEditExtractionWordDialog(int position) {
- final ExtractionWord extractionWord = adapter.getItem(position).getExtractionWord();
- EditTextDialogFragment dialogFragment = new EditTextDialogFragment() {
- @Override
- public void onTextInput(String text) {
- if (TextUtils.isEmpty(text.trim())) {
- return;
- }
- extractionWord.update(text);
- adapter.notifyDataSetChanged();
- updateListView();
- }
- };
- dialogFragment.setParams(getString(R.string.dialog_title_edit), extractionWord.getPatternString());
- DialogHelper.showDialog(this, dialogFragment);
- }
-
private void addNewExtractionWord() {
EditTextDialogFragment dialogFragment = new EditTextDialogFragment() {
@Override
@@ -195,7 +171,6 @@ public class EditExtractionActivity extends Activity implements AdapterView.OnIt
adapter.update();
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
- listView.setOnItemClickListener(this);
listView.setMultiChoiceModeListener(this);
}
@@ -230,7 +205,7 @@ public class EditExtractionActivity extends Activity implements AdapterView.OnIt
@Override
public long getId() {
- return ew.getId();
+ return ew.getPatternString().hashCode();
}
}
}
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 53cccfa8..6c4cceb4 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
@@ -92,7 +92,7 @@ public class ManageAccountsActivity extends Activity implements AdapterView.OnIt
Account account = adapter.getItem(i);
ConfirmDialogFragment.show(this, getString(R.string.dialog_confirm_clear_account, account.getUser().getScreenName()), () -> {
adapter.removeAt(i);
- Account.unregister(account.getModelId());
+ Account.unregister(account.getUserId());
if (account == newAccount) {
newAccount = adapter.getItem(0);
adapter.notifyDataSetChanged();
@@ -128,7 +128,7 @@ public class ManageAccountsActivity extends Activity implements AdapterView.OnIt
if (newAccount != null) {
if (newAccount != Application.getInstance().getCurrentAccount()) {
Application.getInstance().setCurrentAccount(newAccount);
- InternalPreferenceHelper.getInstance().set(R.string.key_last_used_account_id, newAccount.getModelId());
+ InternalPreferenceHelper.getInstance().set(R.string.key_last_used_account_id, newAccount.getUserId());
}
setResult(RESULT_OK);
finish();
@@ -189,7 +189,7 @@ public class ManageAccountsActivity extends Activity implements AdapterView.OnIt
@Override
public long getItemId(int position) {
- return accounts.get(position).getModelId();
+ return accounts.get(position).getUserId();
}
@Override
diff --git a/app/src/main/java/net/lacolaco/smileessence/data/Account.java b/app/src/main/java/net/lacolaco/smileessence/data/Account.java
index 1967cd7f..c45a8286 100644
--- a/app/src/main/java/net/lacolaco/smileessence/data/Account.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/Account.java
@@ -51,15 +51,13 @@ public class Account {
private final Set<Long> muteUserIds = Collections.newSetFromMap(new ConcurrentHashMap<>());
@PrimaryKey
- long id;
+ public long userId;
+ @Column
+ public String screenName;
@Column
public String oauthToken;
@Column
public String oauthTokenSecret;
- @Column
- public long userId;
- @Column
- public String screenName;
public Account() { }
@@ -89,7 +87,7 @@ public class Account {
public static synchronized void load() {
cache = new LinkedHashMap<>();
for (Account item : relation().selector())
- cache.put(item.id, item);
+ cache.put(item.userId, item);
}
private static Account_Relation relation() {
@@ -112,20 +110,17 @@ public class Account {
account.oauthToken = token;
account.oauthTokenSecret = tokenSecret;
- if (account.id == 0)
- relation().inserter().execute(account);
- else
- relation().upserter().execute(account);
+ relation().upserter().execute(account);
- cache.put(account.id, account);
+ cache.put(account.userId, account);
return account;
}
- public static synchronized Account unregister(long modelId) {
- Account account = cache.remove(modelId);
+ public static synchronized Account unregister(long id) {
+ Account account = cache.remove(id);
if (account != null) {
- relation().deleter().idEq(modelId).execute();
+ relation().deleter().userIdEq(id).execute();
}
return account;
}
@@ -134,10 +129,6 @@ public class Account {
return userId;
}
- public long getModelId() {
- return id;
- }
-
public Twitter getTwitter() {
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthAccessToken(new AccessToken(oauthToken, oauthTokenSecret));
diff --git a/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java b/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
index 40c40603..10d0b631 100644
--- a/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
@@ -34,37 +34,36 @@ import java.util.regex.Pattern;
@Table
public class ExtractionWord {
- private static Map<Long, ExtractionWord> cache; // model id -> Account
+ private static Set<ExtractionWord> cache;
private static final Object mutex = new Object();
private Pattern pattern;
@PrimaryKey
- long id;
- @Column(unique = true, uniqueOnConflict = OnConflict.REPLACE)
String patternString;
// --------------------- static methods ---------------------
public static List<ExtractionWord> cached() {
synchronized(mutex) {
- return new ArrayList<>(cache.values());
+ return new ArrayList<>(cache);
}
}
public static synchronized void load() {
synchronized(mutex) {
- cache = new LinkedHashMap<>();
OrmaDatabase orma = OrmaHolder.getORMA();
- for (ExtractionWord item : orma.selectFromExtractionWord().toList())
- cache.put(item.id, item);
+ cache = new HashSet<>(orma.selectFromExtractionWord().toList());
}
}
+ private static ExtractionWord_Relation relation() {
+ return OrmaHolder.getORMA().relationOfExtractionWord();
+ }
+
public static synchronized ExtractionWord add(String patternString) {
ExtractionWord extractionWord = new ExtractionWord(patternString);
- OrmaDatabase orma = OrmaHolder.getORMA();
- orma.relationOfExtractionWord().inserter().execute(extractionWord);
+ relation().upserter().execute(extractionWord);
synchronized(mutex) {
- cache.put(extractionWord.id, extractionWord);
+ cache.add(extractionWord);
}
return extractionWord;
}
@@ -86,20 +85,7 @@ public class ExtractionWord {
}
public void remove() {
- OrmaDatabase orma = OrmaHolder.getORMA();
- orma.deleteFromExtractionWord().idEq(id);
- cache.remove(id);
- }
-
- public void update(String newString) {
- patternString = newString;
- pattern = Pattern.compile(newString);
-
- OrmaDatabase orma = OrmaHolder.getORMA();
- orma.updateExtractionWord();
- }
-
- public long getId() {
- return id;
+ relation().deleter().patternStringEq(patternString).execute();
+ cache.remove(this);
}
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java b/app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java
index 2c26ca5d..83235d31 100644
--- a/app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/SearchQuery.java
@@ -37,9 +37,6 @@ public class SearchQuery {
// ------------------------------ FIELDS ------------------------------
@PrimaryKey
- long id;
-
- @Column(uniqueOnConflict = OnConflict.REPLACE)
public String query;
// -------------------------- STATIC METHODS --------------------------
@@ -55,19 +52,15 @@ public class SearchQuery {
return orma.selectFromSearchQuery().toList();
}
- // --------------------------- CONSTRUCTORS ---------------------------
-
- public static boolean saveIfNotFound(String query) {
- OrmaDatabase orma = OrmaHolder.getORMA();
-
- orma.insertIntoSearchQuery(new SearchQuery(query));
+ private static SearchQuery_Relation relation() {
+ return OrmaHolder.getORMA().relationOfSearchQuery();
+ }
- return true;
+ public static void add(String query) {
+ relation().upserter().execute(new SearchQuery(query));
}
public void delete() {
- OrmaDatabase orma = OrmaHolder.getORMA();
-
- orma.deleteFromSearchQuery().idEq(id).execute();
+ relation().deleter().queryEq(query);
}
}
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 03dd0cf3..437d2047 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
@@ -277,7 +277,7 @@ public class SearchFragment extends CustomListFragment<SearchListAdapter> implem
if (TextUtils.isEmpty(text)) {
Notificator.getInstance().alert(R.string.notice_query_is_empty);
} else {
- SearchQuery.saveIfNotFound(text);
+ SearchQuery.add(text);
Notificator.getInstance().publish(R.string.notice_query_saved);
}
}