aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-10-05 09:35:33 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-10-05 09:35:33 +0900
commit0f5f7dbc8a0a0751b69ac733be0d90416fc5cb5d (patch)
tree2c74bb2e1e825105bed3d148bafb9b2b360632d8
parent3f354954d142557a74ef47fe1e0c7442459abbc8 (diff)
downloadSmileEssence-0f5f7dbc8a0a0751b69ac733be0d90416fc5cb5d.tar.gz
unyap
-rw-r--r--.idea/dictionaries/k.xml1
-rw-r--r--app/app.iml18
-rw-r--r--app/build.gradle10
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/Application.java6
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java39
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java9
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/data/ImageCache.java22
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/entity/SavedSearch.java6
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/entity/User.java7
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/Partials.java4
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java2
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java5
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.java5
-rw-r--r--app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java1
-rw-r--r--app/src/main/res/menu/main.xml10
18 files changed, 69 insertions, 84 deletions
diff --git a/.idea/dictionaries/k.xml b/.idea/dictionaries/k.xml
index 9f6b7db5..29029ab8 100644
--- a/.idea/dictionaries/k.xml
+++ b/.idea/dictionaries/k.xml
@@ -4,6 +4,7 @@
<w>favorited</w>
<w>hashtags</w>
<w>imageview</w>
+ <w>klass</w>
<w>lacolaco</w>
<w>listview</w>
<w>noninfringement</w>
diff --git a/app/app.iml b/app/app.iml
index c8bdc13e..ad948429 100644
--- a/app/app.iml
+++ b/app/app.iml
@@ -62,13 +62,6 @@
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
@@ -76,6 +69,13 @@
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundles" />
@@ -101,6 +101,7 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" exported="" name="orma-4.2.5" level="project" />
<orderEntry type="library" exported="" name="orma-migration-4.2.5" level="project" />
+ <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="support-core-ui-25.3.1" level="project" />
<orderEntry type="library" exported="" name="crashlytics-core-2.3.17" level="project" />
@@ -109,6 +110,7 @@
<orderEntry type="library" exported="" name="rxandroid-2.0.1" level="project" />
<orderEntry type="library" exported="" name="twitter4j-stream-4.0.6" level="project" />
<orderEntry type="library" exported="" name="rxjava-2.0.9" level="project" />
+ <orderEntry type="library" exported="" name="leakcanary-analyzer-1.5.4" level="project" />
<orderEntry type="library" exported="" name="support-core-utils-25.3.1" level="project" />
<orderEntry type="library" exported="" name="support-fragment-25.3.1" level="project" />
<orderEntry type="library" exported="" name="reactive-streams-1.0.0" level="project" />
@@ -121,10 +123,12 @@
<orderEntry type="library" exported="" name="twitter4j-media-support-4.0.6" level="project" />
<orderEntry type="library" exported="" name="crouton-1.8.5" level="project" />
<orderEntry type="library" exported="" name="orma-annotations-4.2.5" level="project" />
+ <orderEntry type="library" exported="" name="leakcanary-android-1.5.4" level="project" />
<orderEntry type="library" exported="" name="crashlytics-2.6.8" level="project" />
<orderEntry type="library" exported="" name="twitter4j-core-4.0.6" level="project" />
<orderEntry type="library" exported="" name="twitter-text-1.14.7" level="project" />
<orderEntry type="library" exported="" name="support-annotations-25.3.1" level="project" />
+ <orderEntry type="library" exported="" name="leakcanary-watcher-1.5.4" level="project" />
<orderEntry type="library" exported="" name="support-compat-25.3.1" level="project" />
</component>
</module> \ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 9cd6a13f..c8100f59 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -71,11 +71,17 @@ dependencies {
// twitter-text
compile 'com.twitter:twitter-text:1.14.7'
+ annotationProcessor "com.github.gfx.android.orma:orma-processor:4.2.5"
+ compile "com.github.gfx.android.orma:orma:4.2.5"
+
// Fabric
compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
transitive = true;
}
- annotationProcessor "com.github.gfx.android.orma:orma-processor:4.2.5"
- compile "com.github.gfx.android.orma:orma:4.2.5"
+ // LeakCanary
+
+ debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'
+ releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
+ release2Compile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
} \ No newline at end of file
diff --git a/app/src/main/java/net/lacolaco/smileessence/Application.java b/app/src/main/java/net/lacolaco/smileessence/Application.java
index 4ad94fb9..72af2630 100644
--- a/app/src/main/java/net/lacolaco/smileessence/Application.java
+++ b/app/src/main/java/net/lacolaco/smileessence/Application.java
@@ -28,6 +28,7 @@ import android.support.annotation.StringRes;
import android.widget.Toast;
import com.crashlytics.android.Crashlytics;
import com.crashlytics.android.core.CrashlyticsCore;
+import com.squareup.leakcanary.LeakCanary;
import io.fabric.sdk.android.Fabric;
import net.lacolaco.smileessence.data.Account;
import net.lacolaco.smileessence.data.OrmaHolder;
@@ -69,6 +70,11 @@ public class Application extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
+ if (LeakCanary.isInAnalyzerProcess(this)) {
+ return;
+ }
+ LeakCanary.install(this);
+
Fabric.with(this, new Crashlytics.Builder().core(new CrashlyticsCore.Builder().disabled(BuildConfig.DEBUG).build()).build());
OrmaHolder.initialize(this);
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 8ba37f71..4997f3f1 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.java
@@ -53,6 +53,8 @@ import net.lacolaco.smileessence.view.adapter.PageListAdapter;
import net.lacolaco.smileessence.view.dialog.ConfirmDialogFragment;
import net.lacolaco.smileessence.view.page.*;
+import java.lang.reflect.Field;
+
public class MainActivity extends Activity implements ViewPager.OnPageChangeListener {
public static final int REQUEST_GET_PICTURE_FROM_GALLERY = 11;
private final UIObserverBundle currentUserBundle = new UIObserverBundle();
@@ -99,15 +101,11 @@ public class MainActivity extends Activity implements ViewPager.OnPageChangeList
}
}
- public void openSearchPage() {
- setSelectedPageIndex(pagerAdapter.getIndex(SearchFragment.class));
- }
-
public void openSearchPage(String query) {
SearchFragment fragment = (SearchFragment) pagerAdapter.getCachedFragment(pagerAdapter.getIndex(SearchFragment.class));
if (fragment != null) {
fragment.startSearch(query);
- openSearchPage();
+ setSelectedPageIndex(pagerAdapter.getIndex(SearchFragment.class));
}
}
@@ -115,14 +113,10 @@ public class MainActivity extends Activity implements ViewPager.OnPageChangeList
UserListFragment fragment = (UserListFragment) pagerAdapter.getCachedFragment(pagerAdapter.getIndex(UserListFragment.class));
if (fragment != null) {
fragment.startUserList(listFullName);
- openUserListPage();
+ setSelectedPageIndex(pagerAdapter.getIndex(UserListFragment.class));
}
}
- private void openUserListPage() {
- setSelectedPageIndex(pagerAdapter.getIndex(UserListFragment.class));
- }
-
// ------------------------ OVERRIDE METHODS ------------------------
@Override
@@ -250,9 +244,26 @@ public class MainActivity extends Activity implements ViewPager.OnPageChangeList
super.onDestroy();
currentUserBundle.detachAll();
Crouton.cancelAllCroutons();
+ // Workaround for LeakCanary
+ fixCroutonLeak();
Logger.debug("onDestroy");
}
+ private void fixCroutonLeak() {
+ try {
+ Class klass = Class.forName("de.keyboardsurfer.android.widget.crouton.DefaultAnimationsBuilder");
+ Field slideInDownAnimation = klass.getDeclaredField("slideInDownAnimation");
+ slideInDownAnimation.setAccessible(true);
+ slideInDownAnimation.set(null, null);
+ Field slideOutUpAnimation = klass.getDeclaredField("slideOutUpAnimation");
+ slideOutUpAnimation.setAccessible(true);
+ slideOutUpAnimation.set(null, null);
+ } catch (Exception e) {
+ Logger.error("crouton fix error: " + e);
+ }
+ }
+
+
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
@@ -268,9 +279,6 @@ public class MainActivity extends Activity implements ViewPager.OnPageChangeList
startActivity(intent);
return true;
}
- case R.id.actionbar_post:
- openPostPage();
- return true;
case R.id.actionbar_setting:
startActivity(new Intent(this, SettingActivity.class));
return true;
@@ -280,11 +288,6 @@ public class MainActivity extends Activity implements ViewPager.OnPageChangeList
case R.id.actionbar_aclog:
IntentUtils.openUri(this, world.getAccount().getUser().getAclogTimelineURL());
return true;
- case R.id.actionbar_report:
- world.getPostState().beginTransaction()
- .appendText(getString(R.string.text_message_to_author, BuildConfig.VERSION_NAME))
- .commitWithOpen(this);
- return true;
default:
return super.onOptionsItemSelected(item);
}
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 28d99ab6..af891fec 100644
--- a/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
+++ b/app/src/main/java/net/lacolaco/smileessence/activity/ManageAccountsActivity.java
@@ -227,7 +227,7 @@ public class ManageAccountsActivity extends Activity implements AdapterView.OnIt
}
Account account = getItem(position);
NetworkImageView iconView = (NetworkImageView) convertView.findViewById(R.id.account_icon);
- ImageCache.getInstance().setImageToView(account.getUser().getProfileImageUrlOriginal(), iconView);
+ iconView.setImageUrl(account.getUser().getProfileImageUrlOriginal(), ImageCache.getImageLoader());
TextView textView = (TextView) convertView.findViewById(R.id.account_text_view);
String text = "@" + account.getUser().getScreenName();
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 a0206db2..334ab5e7 100644
--- a/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/ExtractionWord.java
@@ -27,10 +27,7 @@ package net.lacolaco.smileessence.data;
import com.github.gfx.android.orma.annotation.PrimaryKey;
import com.github.gfx.android.orma.annotation.Table;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
import java.util.regex.Pattern;
@Table
@@ -47,8 +44,8 @@ public class ExtractionWord {
this.patternString = patternString;
}
- public static synchronized List<ExtractionWord> cached() {
- return new ArrayList<>(cache);
+ public static synchronized Collection<ExtractionWord> cached() {
+ return cache;
}
public static synchronized void load() {
diff --git a/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.java b/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.java
index e7a31716..daa2a443 100644
--- a/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.java
+++ b/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.java
@@ -32,14 +32,9 @@ import com.android.volley.toolbox.*;
import net.lacolaco.smileessence.Application;
public class ImageCache {
-
- // ------------------------------ FIELDS ------------------------------
-
private static ImageCache instance = new ImageCache();
private ImageLoader imageLoader;
- // -------------------------- STATIC METHODS --------------------------
-
private ImageCache() {
int cacheSizeInBytes = 64 * 1024 * 1024; // 64MB
Cache diskCache = new DiskBasedCache(Application.getInstance().getCacheDir(), cacheSizeInBytes);
@@ -48,27 +43,14 @@ public class ImageCache {
requestQueue.start();
}
- public static ImageCache getInstance() {
- return instance;
- }
-
- // -------------------------- OTHER METHODS --------------------------
-
- public void setImageToView(String imageURL, NetworkImageView view) {
- view.setImageUrl(imageURL, imageLoader);
- }
+ public static ImageLoader getImageLoader() { return instance.imageLoader; }
private static class ImageLruCache implements ImageLoader.ImageCache {
private LruCache<String, Bitmap> cache;
- // -------------------------- STATIC METHODS --------------------------
-
private ImageLruCache() {
- long memoryBytes = Runtime.getRuntime().maxMemory();
- int maxCount = (int) (memoryBytes / (8 * 1024));
- cache = new LruCache<>(maxCount);
+ cache = new LruCache<>(4 * 1024 * 1024); // 4MB
}
- // --------------------- Interface ImageCache ---------------------
@Override
public Bitmap getBitmap(String url) {
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java b/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
index 5b19ee74..f2862151 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
+++ b/app/src/main/java/net/lacolaco/smileessence/entity/DirectMessage.java
@@ -3,12 +3,12 @@ package net.lacolaco.smileessence.entity;
import net.lacolaco.smileessence.util.ListUtils;
import java.util.Date;
+import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
public class DirectMessage extends EntitySupport implements IdObject {
- private static Map<Long, DirectMessage> storage = new ConcurrentHashMap<>();
+ private static Map<Long, DirectMessage> storage = new HashMap<>();
private long id;
private User sender;
private User recipient;
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/SavedSearch.java b/app/src/main/java/net/lacolaco/smileessence/entity/SavedSearch.java
index fcb87605..8fcd0acd 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/SavedSearch.java
+++ b/app/src/main/java/net/lacolaco/smileessence/entity/SavedSearch.java
@@ -1,10 +1,5 @@
package net.lacolaco.smileessence.entity;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
public class SavedSearch implements IdObject {
private long id;
private String query;
@@ -18,6 +13,7 @@ public class SavedSearch implements IdObject {
return new SavedSearch(obj.getId(), obj.getQuery());
}
+ @Override
public long getId() {
return id;
}
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 4aa461fa..c79c58ef 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java
+++ b/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.java
@@ -11,7 +11,7 @@ import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
public class Tweet extends EntitySupport implements IdObject {
- private static Map<Long, Tweet> storage = new ConcurrentHashMap<>();
+ private static Map<Long, Tweet> storage = new HashMap<>();
private final long id;
private User user;
private String text;
diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/User.java b/app/src/main/java/net/lacolaco/smileessence/entity/User.java
index a460fff2..abc2c047 100644
--- a/app/src/main/java/net/lacolaco/smileessence/entity/User.java
+++ b/app/src/main/java/net/lacolaco/smileessence/entity/User.java
@@ -2,11 +2,11 @@ package net.lacolaco.smileessence.entity;
import net.lacolaco.smileessence.util.UIObservable;
+import java.util.HashMap;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-public class User extends UIObservable {
- private static Map<Long, User> storage = new ConcurrentHashMap<>();
+public class User extends UIObservable implements IdObject {
+ private static Map<Long, User> storage = new HashMap<>();
private long id;
private boolean isProtected;
private String screenName;
@@ -102,6 +102,7 @@ public class User extends UIObservable {
}
}
+ @Override
public long getId() {
return id;
}
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/Partials.java b/app/src/main/java/net/lacolaco/smileessence/view/Partials.java
index bb14c11c..fc0e35cb 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/Partials.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/Partials.java
@@ -100,7 +100,7 @@ public class Partials {
NetworkImageView icon = (NetworkImageView) convertView.findViewById(R.id.imageview_status_icon);
String iconUrl = tweet.getOriginalTweet().getUser().getProfileImageUrlOriginal();
- ImageCache.getInstance().setImageToView(iconUrl, icon);
+ icon.setImageUrl(iconUrl, ImageCache.getImageLoader());
icon.setOnClickListener(v -> onIconClick(tweet, activity));
TextView header = (TextView) convertView.findViewById(R.id.textview_status_header);
@@ -202,7 +202,7 @@ public class Partials {
NetworkImageView icon = (NetworkImageView) convertView.findViewById(R.id.imageview_status_icon);
String iconUrl = directMessage.getSender().getProfileImageUrlOriginal();
- ImageCache.getInstance().setImageToView(iconUrl, icon);
+ icon.setImageUrl(iconUrl, ImageCache.getImageLoader());
icon.setOnClickListener(v -> {
UserDetailDialogFragment dialogFragment = new UserDetailDialogFragment();
dialogFragment.setUserID(directMessage.getSender().getId());
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java
index 2ce0386d..3f98cfaa 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.java
@@ -108,7 +108,7 @@ public class EventListAdapter extends CustomListAdapter<Event> {
private void updateViewUser(Event event, View convertedView) {
NetworkImageView icon = (NetworkImageView) convertedView.findViewById(R.id.imageview_status_icon);
String iconUrl = event.getSource().getProfileImageUrlOriginal();
- ImageCache.getInstance().setImageToView(iconUrl, icon);
+ icon.setImageUrl(iconUrl, ImageCache.getImageLoader());
TextView header = (TextView) convertedView.findViewById(R.id.textview_status_header);
header.setText(event.getFormattedString());
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java b/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
index c2a53df9..9f8e5039 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/MessageListAdapter.java
@@ -34,15 +34,16 @@ public class MessageListAdapter extends OrderedCustomListAdapter<DirectMessage>
private final Activity activity;
public MessageListAdapter(Activity activity) {
+ super();
this.activity = activity;
}
public long getLastID() {
- return getItem(getCount() - 1).getId();
+ return getCount() > 0 ? getItem(getCount() - 1).getId() : -1;
}
public long getTopID() {
- return getItem(0).getId();
+ return getCount() > 0 ? getItem(0).getId() : -1;
}
@Override
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 9e036d32..c8d62fa8 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
@@ -38,7 +38,6 @@ import android.widget.TextView;
import com.android.volley.toolbox.NetworkImageView;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
-import net.lacolaco.smileessence.Application;
import net.lacolaco.smileessence.R;
import net.lacolaco.smileessence.activity.MainActivity;
import net.lacolaco.smileessence.data.Account;
@@ -261,7 +260,7 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
textViewName.setText(user.getName());
textViewScreenName.setText(user.getScreenName());
textViewProtected.setVisibility(user.isProtected() ? View.VISIBLE : View.GONE);
- ImageCache.getInstance().setImageToView(user.getProfileImageUrlOriginal(), imageViewIcon);
+ imageViewIcon.setImageUrl(user.getProfileImageUrlOriginal(), ImageCache.getImageLoader());
}
private void updateUserDataDetail() {
@@ -284,7 +283,7 @@ public class UserDetailDialogFragment extends StackableDialogFragment implements
textViewFollowerCount.setText(String.valueOf(user.getFollowersCount()));
textViewFavoriteCount.setText(String.valueOf(user.getFavoritesCount()));
- ImageCache.getInstance().setImageToView(user.getProfileBannerUrl(), imageViewHeader);
+ imageViewHeader.setImageUrl(user.getProfileBannerUrl(), ImageCache.getImageLoader());
}
private void initUserData() {
diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java
index f0c54f6f..c8426383 100644
--- a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java
+++ b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.java
@@ -195,7 +195,6 @@ public class PostFragment extends PageFragment implements TextWatcher, View.OnFo
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
- menu.removeItem(R.id.actionbar_post);
SystemServiceHelper.showIM(getActivity(), editText);
}
diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml
index 37458740..5990cedd 100644
--- a/app/src/main/res/menu/main.xml
+++ b/app/src/main/res/menu/main.xml
@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
- android:id="@+id/actionbar_post"
- android:title="@string/actionbar_post"
- android:icon="@drawable/icon_edit"
- android:showAsAction="ifRoom"/>
- <item
android:id="@+id/actionbar_setting"
android:title="@string/actionbar_setting"
android:icon="@drawable/icon_settings"
@@ -19,9 +14,4 @@
android:title="@string/actionbar_aclog"
android:icon="@drawable/icon_website"
android:showAsAction="never"/>
- <item
- android:id="@+id/actionbar_report"
- android:title="@string/actionbar_report"
- android:icon="@drawable/icon_email"
- android:showAsAction="never"/>
</menu> \ No newline at end of file