From be40171c1a4ac855122768f2ea892f695d4cb787 Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Mon, 9 Oct 2017 13:43:10 +0900 Subject: cleanup --- .idea/misc.xml | 5 +- SmileEssence.iml | 2 +- app/app.iml | 21 +++--- app/build.gradle | 42 ++++------- .../java/net/lacolaco/smileessence/Application.kt | 2 +- .../main/java/net/lacolaco/smileessence/World.kt | 1 - .../activity/EditExtractionActivity.kt | 2 - .../smileessence/activity/LicenseActivity.kt | 5 +- .../lacolaco/smileessence/activity/MainActivity.kt | 10 ++- .../smileessence/activity/OAuthActivity.kt | 1 - .../smileessence/activity/SettingActivity.kt | 1 - .../net/lacolaco/smileessence/data/ImageCache.kt | 6 +- .../lacolaco/smileessence/entity/EntitySupport.kt | 82 ++++++---------------- .../java/net/lacolaco/smileessence/entity/Tweet.kt | 6 +- .../java/net/lacolaco/smileessence/entity/User.kt | 6 +- .../preference/UserPreferenceHelper.kt | 6 +- .../lacolaco/smileessence/twitter/task/Accounts.kt | 8 +-- .../lacolaco/smileessence/twitter/task/Searches.kt | 1 - .../smileessence/twitter/task/Timelines.kt | 1 - .../lacolaco/smileessence/twitter/task/Tweets.kt | 4 +- .../lacolaco/smileessence/twitter/task/Users.kt | 1 - .../lacolaco/smileessence/util/BackgroundTask.kt | 13 ++-- .../lacolaco/smileessence/util/BitmapOptimizer.kt | 10 ++- .../net/lacolaco/smileessence/util/StringUtils.kt | 5 +- .../smileessence/view/ColoredRelativeLayout.kt | 1 - .../lacolaco/smileessence/view/ExpandedListView.kt | 1 - .../net/lacolaco/smileessence/view/Partials.kt | 10 ++- .../lacolaco/smileessence/view/SettingFragment.kt | 2 +- .../lacolaco/smileessence/view/ThreeStateButton.kt | 1 - .../smileessence/view/ToggleableImageButton.kt | 1 - .../smileessence/view/adapter/CustomListAdapter.kt | 2 +- .../smileessence/view/adapter/EventListAdapter.kt | 1 - .../view/adapter/UnorderedCustomListAdapter.kt | 2 +- .../view/dialog/ConfirmDialogFragment.kt | 2 +- .../view/dialog/MessageDetailDialogFragment.kt | 4 +- .../view/dialog/TalkChainDialogFragment.kt | 3 - .../view/dialog/UserDetailDialogFragment.kt | 20 ++---- .../smileessence/view/page/CustomListFragment.kt | 1 - .../smileessence/view/page/HistoryFragment.kt | 2 - .../smileessence/view/page/HomeFragment.kt | 3 - .../smileessence/view/page/MentionsFragment.kt | 2 - .../smileessence/view/page/PageFragment.kt | 4 -- .../smileessence/view/page/PostFragment.kt | 2 +- .../smileessence/view/page/SearchFragment.kt | 4 +- .../smileessence/view/page/UserListFragment.kt | 4 +- app/src/main/res/menu/edit_list.xml | 3 +- app/src/main/res/values/app_info.xml | 1 - app/src/release2/res/values/app_info.xml | 4 -- build.gradle | 1 - 49 files changed, 97 insertions(+), 225 deletions(-) delete mode 100644 app/src/release2/res/values/app_info.xml diff --git a/.idea/misc.xml b/.idea/misc.xml index 885ffd66..90c67b37 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,10 +1,7 @@ - - - - + \ No newline at end of file diff --git a/SmileEssence.iml b/SmileEssence.iml index 3296c2a5..a693f3b1 100644 --- a/SmileEssence.iml +++ b/SmileEssence.iml @@ -8,7 +8,7 @@ - + diff --git a/app/app.iml b/app/app.iml index 2fc6ea49..9470ca6a 100644 --- a/app/app.iml +++ b/app/app.iml @@ -43,7 +43,7 @@ - + @@ -86,13 +86,6 @@ - - - - - - - @@ -100,6 +93,13 @@ + + + + + + + @@ -112,6 +112,7 @@ + @@ -129,7 +130,6 @@ - @@ -140,7 +140,6 @@ - @@ -163,7 +162,5 @@ - - \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index 098c122f..d000b467 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,7 +2,6 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' -apply plugin: 'me.tatarka.retrolambda' apply plugin: 'io.fabric' buildscript { @@ -35,34 +34,16 @@ android { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } - release2.initWith(buildTypes.release) - release2 { - applicationIdSuffix ".release2" - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - packagingOptions { - exclude 'META-INF/LICENSE.txt' - exclude 'META-INF/services/javax.annotation.processing.Processor' } lintOptions { abortOnError false checkReleaseBuilds false } - dexOptions { - preDexLibraries = false - } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" - //compile 'com.android.support:support-v4:26.1.0' compile 'com.android.support:support-core-ui:26.1.0' compile 'com.android.support:support-v13:26.1.0' @@ -70,34 +51,35 @@ dependencies { compile "org.jetbrains.anko:anko-commons:$anko_version" compile "org.jetbrains.anko:anko-coroutines:$anko_version" - // volley - compile 'com.android.volley:volley:1.0.0' - // crouton + // Volley + compile 'com.android.volley:volley:1.0.0@aar' + + // Crouton compile('de.keyboardsurfer.android.widget:crouton:1.8.5@aar') { // exclusion is not necessary, but generally a good idea. exclude group: 'com.google.android', module: 'support-v4' } - // pull to refresh + + // PullToRefresh compile 'com.navercorp.pulltorefresh:library:3.3.0-SNAPSHOT@aar' + // twitter4j compile 'org.twitter4j:twitter4j-core:4.0.6' compile 'org.twitter4j:twitter4j-media-support:4.0.6' compile 'org.twitter4j:twitter4j-stream:4.0.6' - // twitter-text - compile 'com.twitter:twitter-text:1.14.7' + // Orma kapt "com.github.gfx.android.orma:orma-processor:4.2.5" - compile "com.github.gfx.android.orma:orma: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; + transitive = true } // 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' + debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4@aar' + releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4@aar' } kotlin { diff --git a/app/src/main/java/net/lacolaco/smileessence/Application.kt b/app/src/main/java/net/lacolaco/smileessence/Application.kt index a2b39e14..9225d1c0 100644 --- a/app/src/main/java/net/lacolaco/smileessence/Application.kt +++ b/app/src/main/java/net/lacolaco/smileessence/Application.kt @@ -70,7 +70,7 @@ class Application : android.app.Application() { val w0 = worlds[id]?.get() if (w0 != null) return w0 - val w = World(Account.get(id)) + val w = World(Account[id]) val ww = WeakReference(w) worlds.put(id, ww) return w diff --git a/app/src/main/java/net/lacolaco/smileessence/World.kt b/app/src/main/java/net/lacolaco/smileessence/World.kt index 638607d1..885a8a30 100644 --- a/app/src/main/java/net/lacolaco/smileessence/World.kt +++ b/app/src/main/java/net/lacolaco/smileessence/World.kt @@ -29,7 +29,6 @@ import java.util.concurrent.ConcurrentHashMap * World contains data that are specific to an account. */ class World(val account: Account) { - private val resId: Int = 0 // XXX: Fetch from Account // XXX: Move to MainActivity val postState = PostState() // XXX: Workaround for a bug in Android diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.kt index d52a7707..1afbf6b9 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/EditExtractionActivity.kt @@ -39,8 +39,6 @@ import net.lacolaco.smileessence.logging.Logger import net.lacolaco.smileessence.view.adapter.UnorderedCustomListAdapter import net.lacolaco.smileessence.view.dialog.EditTextDialogFragment -import java.util.ArrayList - class EditExtractionActivity : Activity() { private val adapter by lazy { object : UnorderedCustomListAdapter() { diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.kt index 3428cc0a..6a0630bc 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/LicenseActivity.kt @@ -28,13 +28,10 @@ import android.app.Activity import android.os.Bundle import android.support.v4.app.NavUtils import android.view.MenuItem -import android.widget.LinearLayout import android.widget.TextView import kotlinx.android.synthetic.main.layout_license.* -import net.lacolaco.smileessence.Application import net.lacolaco.smileessence.R - -import java.util.ArrayList +import java.util.* class LicenseActivity : Activity() { diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt index cdbc94d4..21f96254 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/MainActivity.kt @@ -39,7 +39,6 @@ import android.widget.ImageView import de.keyboardsurfer.android.widget.crouton.Crouton import kotlinx.android.synthetic.main.layout_main.* import net.lacolaco.smileessence.* -import net.lacolaco.smileessence.command.CommandOpenUserDetail import net.lacolaco.smileessence.data.ExtractionWord import net.lacolaco.smileessence.entity.Tweet import net.lacolaco.smileessence.logging.Logger @@ -52,7 +51,7 @@ import net.lacolaco.smileessence.view.dialog.StatusDetailDialogFragment import net.lacolaco.smileessence.view.dialog.UserDetailDialogFragment import net.lacolaco.smileessence.view.page.* import org.jetbrains.anko.browse -import org.jetbrains.anko.startActivity; +import org.jetbrains.anko.startActivity import java.util.regex.Pattern class MainActivity : Activity(), ViewPager.OnPageChangeListener { @@ -77,11 +76,10 @@ class MainActivity : Activity(), ViewPager.OnPageChangeListener { setSelectedPageIndex(pagerAdapter.getIndex(PostFragment::class.java)) } - fun openPostPageWithImage(uri: Uri) { + private fun openPostPageWithImage(uri: Uri) { try { - val c = contentResolver.query(uri, null, null, null, null) - assert(c != null) - c!!.moveToFirst() + val c = contentResolver.query(uri, null, null, null, null)!! + c.moveToFirst() val path = c.getString(c.getColumnIndex(MediaStore.MediaColumns.DATA)) world.postState.beginTransaction() .setMediaFilePath(path) diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt index 403ac40b..e7b92447 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/OAuthActivity.kt @@ -29,7 +29,6 @@ import android.content.Intent import android.os.Bundle import android.text.Editable import android.text.TextWatcher -import android.view.View import kotlinx.android.synthetic.main.layout_oauth.* import kotlinx.coroutines.experimental.android.UI import kotlinx.coroutines.experimental.async diff --git a/app/src/main/java/net/lacolaco/smileessence/activity/SettingActivity.kt b/app/src/main/java/net/lacolaco/smileessence/activity/SettingActivity.kt index 07518480..9fb148ea 100644 --- a/app/src/main/java/net/lacolaco/smileessence/activity/SettingActivity.kt +++ b/app/src/main/java/net/lacolaco/smileessence/activity/SettingActivity.kt @@ -28,7 +28,6 @@ import android.app.Activity import android.os.Bundle import android.support.v4.app.NavUtils import android.view.MenuItem -import net.lacolaco.smileessence.Application import net.lacolaco.smileessence.R class SettingActivity : Activity() { diff --git a/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.kt b/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.kt index 6dc3f6f1..84e2b7b6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.kt +++ b/app/src/main/java/net/lacolaco/smileessence/data/ImageCache.kt @@ -26,9 +26,11 @@ package net.lacolaco.smileessence.data import android.graphics.Bitmap import android.util.LruCache -import com.android.volley.Cache import com.android.volley.RequestQueue -import com.android.volley.toolbox.* +import com.android.volley.toolbox.BasicNetwork +import com.android.volley.toolbox.DiskBasedCache +import com.android.volley.toolbox.HurlStack +import com.android.volley.toolbox.ImageLoader import net.lacolaco.smileessence.Application class ImageCache private constructor() { diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt b/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt index dc548f12..121fa17d 100644 --- a/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt +++ b/app/src/main/java/net/lacolaco/smileessence/entity/EntitySupport.kt @@ -11,76 +11,38 @@ abstract class EntitySupport(status: twitter4j.EntitySupport) { open val urlsExpanded: List = extractExpandedUrls(status.urlEntities) open val symbols: List = extractSymbols(status.symbolEntities) - private fun extractMentions(entities: Array?): List { - val names = ArrayList() - if (entities != null) { - for (entity in entities) { - names.add(entity.screenName) - } - } - return names - } + private fun extractMentions(entities: Array?) = + entities?.map { it.screenName } ?: listOf() - private fun extractSymbols(entities: Array?): List { - val names = ArrayList() - if (entities != null) { - for (entity in entities) { - names.add(entity.text) - } - } - return names - } + private fun extractSymbols(entities: Array?) = + entities?.map { it.text } ?: listOf() - private fun extractExpandedUrls(entities: Array?): List { - val names = ArrayList() - if (entities != null) { - for (entity in entities) { - names.add(entity.expandedURL) - } - } - return names - } + private fun extractExpandedUrls(entities: Array?) = + entities?.map { it.expandedURL } ?: listOf() - private fun extractMediaUrls(entities: Array?): List { - val names = ArrayList() - if (entities != null) { - for (entity in entities) { - if ("photo" == entity.type) { - names.add(entity.mediaURLHttps) - } else { - names.add(entity.expandedURL) + private fun extractMediaUrls(entities: Array?) = + entities?.map { + when (it.type) { + "photo" -> it.mediaURLHttps + else -> it.expandedURL } - } - } - return names - } + } ?: listOf() - private fun extractHashtags(entities: Array?): List { - val names = ArrayList() - if (entities != null) { - for (entity in entities) { - names.add(entity.text) - } - } - return names - } + private fun extractHashtags(entities: Array?) = + entities?.map { it.text } ?: listOf() - protected fun extractText(status: twitter4j.Status, expand: Boolean): String { - return extractText(status, status.text, expand) - } + protected fun extractText(status: twitter4j.Status, expand: Boolean) = + extractText(status, status.text, expand) - protected fun extractText(status: twitter4j.DirectMessage, expand: Boolean): String { - return extractText(status, status.text, expand) - } + protected fun extractText(status: twitter4j.DirectMessage, expand: Boolean) = + extractText(status, status.text, expand) private fun extractText(status: twitter4j.EntitySupport, text: String, expand: Boolean): String { val set = TreeSet { a, b -> a.start - b.start } - if (status.urlEntities != null) { - Collections.addAll(set, *status.urlEntities) - } - if (status.mediaEntities != null) { - Collections.addAll(set, *status.mediaEntities) - } + if (status.urlEntities != null) + set += status.urlEntities + if (status.mediaEntities != null) + set += status.mediaEntities var t = text for (entity in set) { diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.kt b/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.kt index 4b5c005c..2a7d390c 100644 --- a/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.kt +++ b/app/src/main/java/net/lacolaco/smileessence/entity/Tweet.kt @@ -67,13 +67,11 @@ class Tweet private constructor(st: twitter4j.Status, myUserId: Long) : EntitySu } fun addFavoriter(id: Long): Boolean { - val changed = originalTweet.favoriters.add(id) - return changed + return originalTweet.favoriters.add(id) } fun removeFavoriter(id: Long): Boolean { - val changed = originalTweet.favoriters.remove(id) - return changed + return originalTweet.favoriters.remove(id) } fun isRetweetedBy(id: Long): Boolean { diff --git a/app/src/main/java/net/lacolaco/smileessence/entity/User.kt b/app/src/main/java/net/lacolaco/smileessence/entity/User.kt index 6bd3254f..f7edf9c1 100644 --- a/app/src/main/java/net/lacolaco/smileessence/entity/User.kt +++ b/app/src/main/java/net/lacolaco/smileessence/entity/User.kt @@ -100,12 +100,12 @@ class User private constructor(override val id: Long, screenName: String) : IdOb @Synchronized fun _makeSkeleton(id: Long, screenName: String): User { var u: User? = fetch(id) - if (u != null) { - return u + return if (u != null) { + u } else { u = User(id, screenName) storage.put(id, u) - return u + u } } } diff --git a/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt b/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt index 8a8d10eb..ca74f904 100644 --- a/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt +++ b/app/src/main/java/net/lacolaco/smileessence/preference/UserPreferenceHelper.kt @@ -46,12 +46,12 @@ class UserPreferenceHelper private constructor() { } operator fun get(key: Int, defaultValue: Int): Int { - try { - return preferences.getInt(getString(key), defaultValue) + return try { + preferences.getInt(getString(key), defaultValue) } catch (ex: ClassCastException) { val ret = Integer.parseInt(get(key, defaultValue.toString())) set(key, ret) - return ret + ret } } diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Accounts.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Accounts.kt index 91165753..e7ac7da7 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Accounts.kt +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Accounts.kt @@ -2,13 +2,7 @@ package net.lacolaco.smileessence.twitter.task import net.lacolaco.smileessence.data.Account import net.lacolaco.smileessence.util.BackgroundTask -import twitter4j.IDs -import twitter4j.Twitter -import twitter4j.TwitterException -import twitter4j.auth.AccessToken -import twitter4j.auth.RequestToken - -import java.util.ArrayList +import java.util.* class Accounts { class BlockIDsTask(private val account: Account) : BackgroundTask, Void>() { diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt index 6a83d1ff..1937aec6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Searches.kt @@ -5,7 +5,6 @@ import net.lacolaco.smileessence.entity.SavedSearch import net.lacolaco.smileessence.entity.Tweet import net.lacolaco.smileessence.util.BackgroundTask import twitter4j.Query -import twitter4j.TwitterException class Searches { class CreateSavedSearchTask(private val account: Account, private val query: String) : BackgroundTask() { diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Timelines.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Timelines.kt index 7e145968..37f5fca6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Timelines.kt +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Timelines.kt @@ -2,7 +2,6 @@ package net.lacolaco.smileessence.twitter.task import net.lacolaco.smileessence.data.Account import net.lacolaco.smileessence.entity.Tweet -import twitter4j.TwitterException class Timelines { class HomeTimelineTask(private val account: Account) : TimelineTask() { diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Tweets.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Tweets.kt index 41405fb3..185c602c 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Tweets.kt +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Tweets.kt @@ -63,14 +63,14 @@ class Tweets { } override fun doInBackground(): Tweet { - try { + return try { if (!TextUtils.isEmpty(mediaPath)) { val mediaFile = mediaFile if (mediaFile.exists()) { update.setMedia(mediaFile) } } - return Tweet.fromTwitter(account.twitter.tweets().updateStatus(update), account.userId) + Tweet.fromTwitter(account.twitter.tweets().updateStatus(update), account.userId) } finally { if (tempFilePath != null) { File(tempFilePath).delete() diff --git a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Users.kt b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Users.kt index 3554a9c4..a2454003 100644 --- a/app/src/main/java/net/lacolaco/smileessence/twitter/task/Users.kt +++ b/app/src/main/java/net/lacolaco/smileessence/twitter/task/Users.kt @@ -4,7 +4,6 @@ import net.lacolaco.smileessence.data.Account import net.lacolaco.smileessence.entity.User import net.lacolaco.smileessence.util.BackgroundTask import twitter4j.Relationship -import twitter4j.TwitterException class Users { class GetTask : BackgroundTask { diff --git a/app/src/main/java/net/lacolaco/smileessence/util/BackgroundTask.kt b/app/src/main/java/net/lacolaco/smileessence/util/BackgroundTask.kt index 8b180941..6dee6a7d 100644 --- a/app/src/main/java/net/lacolaco/smileessence/util/BackgroundTask.kt +++ b/app/src/main/java/net/lacolaco/smileessence/util/BackgroundTask.kt @@ -99,14 +99,11 @@ abstract class BackgroundTask { super.onPostExecute(result) } - override fun doInBackground(vararg params: Void): Result? { - try { - return this@BackgroundTask.doInBackground() - } catch (ex: Exception) { - fail(ex) - return null - } - + override fun doInBackground(vararg params: Void): Result? = try { + this@BackgroundTask.doInBackground() + } catch (ex: Exception) { + fail(ex) + null } } } diff --git a/app/src/main/java/net/lacolaco/smileessence/util/BitmapOptimizer.kt b/app/src/main/java/net/lacolaco/smileessence/util/BitmapOptimizer.kt index b49c9f08..6ef88632 100644 --- a/app/src/main/java/net/lacolaco/smileessence/util/BitmapOptimizer.kt +++ b/app/src/main/java/net/lacolaco/smileessence/util/BitmapOptimizer.kt @@ -99,12 +99,10 @@ object BitmapOptimizer { try { val exifInterface = ExifInterface(filePath) val orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED) - if (orientation == ExifInterface.ORIENTATION_ROTATE_90) { - degree = 90 - } else if (orientation == ExifInterface.ORIENTATION_ROTATE_180) { - degree = 180 - } else if (orientation == ExifInterface.ORIENTATION_ROTATE_270) { - degree = 270 + when (orientation) { + ExifInterface.ORIENTATION_ROTATE_90 -> degree = 90 + ExifInterface.ORIENTATION_ROTATE_180 -> degree = 180 + ExifInterface.ORIENTATION_ROTATE_270 -> degree = 270 } if (degree != 0) { exifInterface.setAttribute(ExifInterface.TAG_ORIENTATION, "0") diff --git a/app/src/main/java/net/lacolaco/smileessence/util/StringUtils.kt b/app/src/main/java/net/lacolaco/smileessence/util/StringUtils.kt index cd2fff42..04765583 100644 --- a/app/src/main/java/net/lacolaco/smileessence/util/StringUtils.kt +++ b/app/src/main/java/net/lacolaco/smileessence/util/StringUtils.kt @@ -24,11 +24,8 @@ package net.lacolaco.smileessence.util -import android.annotation.SuppressLint - import java.text.SimpleDateFormat -import java.util.Calendar -import java.util.Date +import java.util.* object StringUtils { fun dateToString(date: Date): String { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/ColoredRelativeLayout.kt b/app/src/main/java/net/lacolaco/smileessence/view/ColoredRelativeLayout.kt index 0bf69378..79c1b579 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/ColoredRelativeLayout.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/ColoredRelativeLayout.kt @@ -1,7 +1,6 @@ package net.lacolaco.smileessence.view import android.content.Context -import android.content.res.TypedArray import android.graphics.Canvas import android.graphics.Paint import android.util.AttributeSet diff --git a/app/src/main/java/net/lacolaco/smileessence/view/ExpandedListView.kt b/app/src/main/java/net/lacolaco/smileessence/view/ExpandedListView.kt index 288354ba..794b4ea6 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/ExpandedListView.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/ExpandedListView.kt @@ -3,7 +3,6 @@ package net.lacolaco.smileessence.view import android.content.Context import android.util.AttributeSet import android.view.View -import android.view.ViewGroup import android.widget.ListView class ExpandedListView : ListView { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt b/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt index 679b38cd..62858936 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/Partials.kt @@ -77,12 +77,10 @@ object Partials { view.textview_status_footer.text = getFooterText(tweet) val typedView = view as ColoredRelativeLayout - if (tweet.isRetweet) { - typedView.setHighlight(2) - } else if (tweet.mentions.contains(world.account.user.screenName)) { - typedView.setHighlight(1) - } else { - typedView.setHighlight(0) + when { + tweet.isRetweet -> typedView.setHighlight(2) + tweet.mentions.contains(world.account.user.screenName) -> typedView.setHighlight(1) + else -> typedView.setHighlight(0) } } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.kt index 0c908450..e90963bc 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/SettingFragment.kt @@ -106,7 +106,7 @@ class SettingFragment : PreferenceFragment(), OnSharedPreferenceChangeListener, // -------------------------- OTHER METHODS -------------------------- - fun findPreference(preferenceResID: Int): Preference { + private fun findPreference(preferenceResID: Int): Preference { return findPreference(getString(preferenceResID)) } diff --git a/app/src/main/java/net/lacolaco/smileessence/view/ThreeStateButton.kt b/app/src/main/java/net/lacolaco/smileessence/view/ThreeStateButton.kt index 16e40447..0f496385 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/ThreeStateButton.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/ThreeStateButton.kt @@ -1,7 +1,6 @@ package net.lacolaco.smileessence.view import android.content.Context -import android.content.res.TypedArray import android.graphics.drawable.Drawable import android.util.AttributeSet import android.widget.Button diff --git a/app/src/main/java/net/lacolaco/smileessence/view/ToggleableImageButton.kt b/app/src/main/java/net/lacolaco/smileessence/view/ToggleableImageButton.kt index 945eeb61..f83bcf56 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/ToggleableImageButton.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/ToggleableImageButton.kt @@ -1,7 +1,6 @@ package net.lacolaco.smileessence.view import android.content.Context -import android.content.res.TypedArray import android.graphics.drawable.Drawable import android.util.AttributeSet import android.widget.ImageButton diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.kt b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.kt index 3b022012..e68e3746 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/CustomListAdapter.kt @@ -6,7 +6,7 @@ import net.lacolaco.smileessence.util.UIHandler import java.util.ArrayList import java.util.Collections -abstract class CustomListAdapter : BaseAdapter() { +abstract class CustomListAdapter : BaseAdapter() { private var isNotifiable = true private var frozenList: List = ArrayList() diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.kt b/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.kt index c50802d9..86e80e2b 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/EventListAdapter.kt @@ -36,7 +36,6 @@ import net.lacolaco.smileessence.preference.UserPreferenceHelper import net.lacolaco.smileessence.util.StringUtils import net.lacolaco.smileessence.view.DialogHelper import net.lacolaco.smileessence.view.dialog.UserDetailDialogFragment -import net.lacolaco.smileessence.view.listener.ListItemClickListener class EventListAdapter(private val world: World, private val activity: Activity) : CustomListAdapter() { override val list: List diff --git a/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.kt b/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.kt index ef123e55..f32fa7f3 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/adapter/UnorderedCustomListAdapter.kt @@ -2,7 +2,7 @@ package net.lacolaco.smileessence.view.adapter import java.util.* -abstract class UnorderedCustomListAdapter constructor(override val list: ArrayList = ArrayList()) : CustomListAdapter() { +abstract class UnorderedCustomListAdapter constructor(override val list: ArrayList = ArrayList()) : CustomListAdapter() { init { update() } @Synchronized diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.kt index 445995b1..7491fc94 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/ConfirmDialogFragment.kt @@ -66,7 +66,7 @@ abstract class ConfirmDialogFragment : StackableDialogFragment() { } fun show(activity: Activity, text: String, onOK: (() -> Unit)?, onCancel: (() -> Unit)?, ignorable: Boolean) { - val confirm = UserPreferenceHelper.instance.get(R.string.key_setting_show_confirm_dialog, true) + val confirm = UserPreferenceHelper.instance[R.string.key_setting_show_confirm_dialog, true] if (!confirm && ignorable) { onOK!!() return diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.kt index 8315ca9f..6359c1b5 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/MessageDetailDialogFragment.kt @@ -44,11 +44,9 @@ import net.lacolaco.smileessence.twitter.task.Messages import net.lacolaco.smileessence.util.SystemServiceHelper import net.lacolaco.smileessence.view.DialogHelper import net.lacolaco.smileessence.view.Partials -import net.lacolaco.smileessence.view.adapter.CustomListAdapter import net.lacolaco.smileessence.view.adapter.MessageListAdapter import net.lacolaco.smileessence.view.adapter.UnorderedCustomListAdapter - -import java.util.ArrayList +import java.util.* class MessageDetailDialogFragment : StackableDialogFragment() { private lateinit var message: DirectMessage diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.kt index 993bb026..928708c2 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/TalkChainDialogFragment.kt @@ -34,11 +34,8 @@ import net.lacolaco.smileessence.R import net.lacolaco.smileessence.entity.Tweet import net.lacolaco.smileessence.twitter.task.Tweets import net.lacolaco.smileessence.view.Partials -import net.lacolaco.smileessence.view.adapter.CustomListAdapter import net.lacolaco.smileessence.view.adapter.UnorderedCustomListAdapter -import java.util.ArrayList - class TalkChainDialogFragment : StackableDialogFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { val view = activity.layoutInflater.inflate(R.layout.dialog_talk_list, null) diff --git a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt index e5d2bc68..b2430b5a 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/dialog/UserDetailDialogFragment.kt @@ -95,21 +95,11 @@ class UserDetailDialogFragment : StackableDialogFragment(), View.OnClickListener val dialog = builder.create() dialog.show() } - R.id.imageview_user_detail_icon -> { - browse(user.profileImageUrl!!) - } - R.id.textview_user_detail_screenname, R.id.textview_user_detail_tweet_count -> { - browse(user.userHomeURL) - } - R.id.textview_user_detail_friend_count -> { - browse(String.format("%s/following", user.userHomeURL)) - } - R.id.textview_user_detail_follower_count -> { - browse(String.format("%s/followers", user.userHomeURL)) - } - R.id.textview_user_detail_favorite_count -> { - browse(String.format("%s/favorites", user.userHomeURL)) - } + R.id.imageview_user_detail_icon -> browse(user.profileImageUrl) + R.id.textview_user_detail_screenname, R.id.textview_user_detail_tweet_count -> browse(user.userHomeURL) + R.id.textview_user_detail_friend_count -> browse(String.format("%s/following", user.userHomeURL)) + R.id.textview_user_detail_follower_count -> browse(String.format("%s/followers", user.userHomeURL)) + R.id.textview_user_detail_favorite_count -> browse(String.format("%s/favorites", user.userHomeURL)) R.id.button_user_detail_follow -> { val v = view ConfirmDialogFragment.show(activity, getString(R.string.dialog_confirm_commands)) { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/CustomListFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/CustomListFragment.kt index 0c7a1663..23174d09 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/CustomListFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/CustomListFragment.kt @@ -32,7 +32,6 @@ import android.widget.AbsListView import android.widget.ListView import com.handmark.pulltorefresh.library.PullToRefreshBase import com.handmark.pulltorefresh.library.PullToRefreshListView -import kotlinx.android.synthetic.main.dialog_menu_list.* import kotlinx.android.synthetic.main.fragment_list.view.* import net.lacolaco.smileessence.R import net.lacolaco.smileessence.view.adapter.CustomListAdapter diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/HistoryFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/HistoryFragment.kt index 20643aa5..6e5ba84e 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/HistoryFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/HistoryFragment.kt @@ -25,8 +25,6 @@ package net.lacolaco.smileessence.view.page import android.os.Bundle -import com.handmark.pulltorefresh.library.PullToRefreshBase -import net.lacolaco.smileessence.World import net.lacolaco.smileessence.view.adapter.EventListAdapter class HistoryFragment : CustomListFragment() { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/HomeFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/HomeFragment.kt index 505efd22..7803450a 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/HomeFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/HomeFragment.kt @@ -27,11 +27,8 @@ package net.lacolaco.smileessence.view.page import android.os.Bundle import android.widget.ListView import com.handmark.pulltorefresh.library.PullToRefreshBase -import net.lacolaco.smileessence.Application import net.lacolaco.smileessence.R -import net.lacolaco.smileessence.activity.MainActivity import net.lacolaco.smileessence.entity.Tweet -import net.lacolaco.smileessence.logging.Logger import net.lacolaco.smileessence.twitter.task.TimelineTask import net.lacolaco.smileessence.twitter.task.Timelines import net.lacolaco.smileessence.util.UIHandler diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.kt index 7c047a51..1fabac59 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/MentionsFragment.kt @@ -27,11 +27,9 @@ package net.lacolaco.smileessence.view.page import android.os.Bundle import android.widget.ListView import com.handmark.pulltorefresh.library.PullToRefreshBase -import net.lacolaco.smileessence.Application import net.lacolaco.smileessence.R import net.lacolaco.smileessence.data.ExtractionWord import net.lacolaco.smileessence.entity.Tweet -import net.lacolaco.smileessence.entity.User import net.lacolaco.smileessence.twitter.task.TimelineTask import net.lacolaco.smileessence.twitter.task.Timelines import net.lacolaco.smileessence.view.adapter.TimelineAdapter diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/PageFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/PageFragment.kt index b3814d05..32ab1dec 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/PageFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/PageFragment.kt @@ -1,11 +1,7 @@ package net.lacolaco.smileessence.view.page import android.app.Fragment -import android.os.Bundle -import android.widget.Adapter import net.lacolaco.smileessence.Application -import net.lacolaco.smileessence.World -import net.lacolaco.smileessence.activity.MainActivity abstract class PageFragment : Fragment() { protected val world by lazy { diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.kt index b2aade14..670dca30 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/PostFragment.kt @@ -244,7 +244,7 @@ class PostFragment : PageFragment(), TextWatcher, View.OnFocusChangeListener, Vi setStateFromView() val state = world.postState val mainActivity = activity as MainActivity - val resizeFlag = UserPreferenceHelper.instance.get(R.string.key_setting_resize_post_image, false) + val resizeFlag = UserPreferenceHelper.instance[R.string.key_setting_resize_post_image, false] Tweets.CreateTask(world.account, state.toStatusUpdate(), state.mediaFilePath, resizeFlag) .onDoneUI { t -> world.notify(R.string.notice_tweet_succeeded) diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.kt index d24a562c..3b0d759d 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/SearchFragment.kt @@ -58,7 +58,7 @@ class SearchFragment : CustomListFragment(), View.OnClickListen override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setHasOptionsMenu(true) - queryString = UserPreferenceHelper.instance.get(R.string.key_last_used_search_query, "") + queryString = UserPreferenceHelper.instance[R.string.key_last_used_search_query, ""] } override fun refresh() { //TODO @@ -237,7 +237,7 @@ class SearchFragment : CustomListFragment(), View.OnClickListen } fun startSearch(queryString: String) { - UserPreferenceHelper.instance.set(R.string.key_last_used_search_query, queryString) + UserPreferenceHelper.instance[R.string.key_last_used_search_query] = queryString edittext_search.setText(queryString) this.queryString = queryString adapter.clear() diff --git a/app/src/main/java/net/lacolaco/smileessence/view/page/UserListFragment.kt b/app/src/main/java/net/lacolaco/smileessence/view/page/UserListFragment.kt index abcdb01d..91767135 100644 --- a/app/src/main/java/net/lacolaco/smileessence/view/page/UserListFragment.kt +++ b/app/src/main/java/net/lacolaco/smileessence/view/page/UserListFragment.kt @@ -54,7 +54,7 @@ class UserListFragment : CustomListFragment(), View.OnClickList } override fun refresh() {//TODO - val lastUserList = UserPreferenceHelper.instance.get(R.string.key_last_used_user_list, "") + val lastUserList = UserPreferenceHelper.instance[R.string.key_last_used_user_list, ""] if (!TextUtils.isEmpty(lastUserList)) { startUserList(lastUserList) } @@ -140,7 +140,7 @@ class UserListFragment : CustomListFragment(), View.OnClickList } fun startUserList(listFullName: String) { - UserPreferenceHelper.instance.set(R.string.key_last_used_user_list, listFullName) + UserPreferenceHelper.instance[R.string.key_last_used_user_list] = listFullName val adapter = adapter this.listFullName = listFullName adapter.clear() diff --git a/app/src/main/res/menu/edit_list.xml b/app/src/main/res/menu/edit_list.xml index 97fb02b7..95aae5ab 100644 --- a/app/src/main/res/menu/edit_list.xml +++ b/app/src/main/res/menu/edit_list.xml @@ -28,5 +28,6 @@ + android:showAsAction="always" + android:title="Delete"/> \ No newline at end of file diff --git a/app/src/main/res/values/app_info.xml b/app/src/main/res/values/app_info.xml index 7af80355..ab88dbfc 100644 --- a/app/src/main/res/values/app_info.xml +++ b/app/src/main/res/values/app_info.xml @@ -30,7 +30,6 @@ Developed by laco0416 Thanks to miz_hi, yaplus, firstspring1845, ahiru3net, unyuho123, karno, ret156, vividtomato_, hoyo203, brsywe, NTTrf, mikamikafever - twitter-text twitter4j Crouton Volley diff --git a/app/src/release2/res/values/app_info.xml b/app/src/release2/res/values/app_info.xml deleted file mode 100644 index 39aa8171..00000000 --- a/app/src/release2/res/values/app_info.xml +++ /dev/null @@ -1,4 +0,0 @@ - - SE3-R2 - \ No newline at end of file diff --git a/build.gradle b/build.gradle index da9833a3..ce72799c 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,6 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' - classpath 'me.tatarka:gradle-retrolambda:3.7.0' classpath 'io.fabric.tools:gradle:1.+' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } -- cgit v1.2.3