diff --git a/twidere/src/fdroid/java/org/mariotaku/twidere/util/MapFragmentFactoryImpl.java b/twidere/src/fdroid/java/org/mariotaku/twidere/util/MapFragmentFactoryImpl.java index af717b086..3f2aec01a 100644 --- a/twidere/src/fdroid/java/org/mariotaku/twidere/util/MapFragmentFactoryImpl.java +++ b/twidere/src/fdroid/java/org/mariotaku/twidere/util/MapFragmentFactoryImpl.java @@ -20,6 +20,7 @@ package org.mariotaku.twidere.util; import android.content.Context; +import android.support.annotation.NonNull; import android.support.v4.app.Fragment; import org.mariotaku.twidere.fragment.OpenStreetMapViewerFragment; @@ -29,7 +30,7 @@ import org.mariotaku.twidere.fragment.OpenStreetMapViewerFragment; */ public class MapFragmentFactoryImpl extends MapFragmentFactory { @Override - public Fragment createMapFragment(Context context) { + public Fragment createMapFragment(@NonNull Context context) { return new OpenStreetMapViewerFragment(); } } diff --git a/twidere/src/main/java/org/mariotaku/microblog/library/twitter/util/CRLFLineReader.java b/twidere/src/main/java/org/mariotaku/microblog/library/twitter/util/CRLFLineReader.java index 7239b6116..3d6501289 100644 --- a/twidere/src/main/java/org/mariotaku/microblog/library/twitter/util/CRLFLineReader.java +++ b/twidere/src/main/java/org/mariotaku/microblog/library/twitter/util/CRLFLineReader.java @@ -62,11 +62,7 @@ public final class CRLFLineReader extends BufferedReader if (prevWasCR && intch == LF) { return sb.substring(0, sb.length()-1); } - if (intch == CR) { - prevWasCR = true; - } else { - prevWasCR = false; - } + prevWasCR = intch == CR; sb.append((char) intch); } } diff --git a/twidere/src/main/java/org/mariotaku/twidere/model/UnreadItem.java b/twidere/src/main/java/org/mariotaku/twidere/model/UnreadItem.java index 2cc391364..b48f4e660 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/model/UnreadItem.java +++ b/twidere/src/main/java/org/mariotaku/twidere/model/UnreadItem.java @@ -45,8 +45,7 @@ public class UnreadItem { if (!(obj instanceof UnreadItem)) return false; final UnreadItem other = (UnreadItem) obj; if (account_id != other.account_id) return false; - if (id != other.id) return false; - return true; + return id == other.id; } @Override diff --git a/twidere/src/main/java/org/mariotaku/twidere/provider/CacheProvider.java b/twidere/src/main/java/org/mariotaku/twidere/provider/CacheProvider.java index 50bf7d9c2..4a8011de9 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/provider/CacheProvider.java +++ b/twidere/src/main/java/org/mariotaku/twidere/provider/CacheProvider.java @@ -20,7 +20,7 @@ import org.mariotaku.restfu.RestFuUtils; import org.mariotaku.twidere.TwidereConstants; import org.mariotaku.twidere.model.CacheMetadata; import org.mariotaku.twidere.task.SaveFileTask; -import org.mariotaku.twidere.util.Utils; +import org.mariotaku.twidere.util.BitmapUtils; import org.mariotaku.twidere.util.dagger.GeneralComponentHelper; import java.io.File; @@ -100,7 +100,7 @@ public class CacheProvider extends ContentProvider implements TwidereConstants { case Type.IMAGE: { final File file = mSimpleDiskCache.get(getCacheKey(uri)); if (file == null) return null; - return Utils.getImageMimeType(file); + return BitmapUtils.getImageMimeType(file); } case Type.VIDEO: { return "video/mp4"; diff --git a/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java b/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java index ec24f5a83..4834b5e77 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java +++ b/twidere/src/main/java/org/mariotaku/twidere/provider/TwidereDataProvider.java @@ -1358,7 +1358,7 @@ public final class TwidereDataProvider extends ContentProvider implements Consta applyNotificationPreferences(builder, pref, pref.getHomeTimelineNotificationType()); try { nm.notify("home_" + accountKey, Utils.getNotificationId(NOTIFICATION_ID_HOME_TIMELINE, accountKey), builder.build()); - Utils.sendPebbleNotification(context, notificationContent); + Utils.sendPebbleNotification(context, null, notificationContent); } catch (SecurityException e) { // Silently ignore } diff --git a/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt b/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt index 16868a532..1b64a4b71 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt +++ b/twidere/src/main/java/org/mariotaku/twidere/task/twitter/UpdateStatusTask.kt @@ -124,7 +124,7 @@ class UpdateStatusTask( val cr = context.contentResolver if (hasError) { val values = ContentValues() - values.put(Drafts.ACCOUNT_KEYS, CollectionUtils.toString(failedAccounts, ',', false)) + values.put(Drafts.ACCOUNT_KEYS, failedAccounts.joinToString(",")) cr.update(Drafts.CONTENT_URI, values, where, whereArgs) // TODO show error message } else { diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/BitmapUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/BitmapUtils.java index 9a56dec4d..9914bef7d 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/BitmapUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/BitmapUtils.java @@ -16,6 +16,7 @@ package org.mariotaku.twidere.util; +import android.content.ContentResolver; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; @@ -25,85 +26,18 @@ import android.graphics.PorterDuff; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; - -import com.nostra13.universalimageloader.utils.IoUtils; - -import org.mariotaku.twidere.TwidereConstants; +import android.net.Uri; +import android.support.annotation.Nullable; import java.io.File; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; public class BitmapUtils { private BitmapUtils() { } - // Find the max x that 1 / x <= scale. - public static int computeSampleSize(final float scale) { - if (scale <= 0) return 1; - final int initialSize = Math.max(1, (int) Math.ceil(1 / scale)); - return initialSize <= 8 ? TwidereMathUtils.nextPowerOf2(initialSize) : (initialSize + 7) / 8 * 8; - } - - // This computes a sample size which makes the longer side at least - // minSideLength long. If that's not possible, return 1. - public static int computeSampleSizeLarger(final int w, final int h, final int minSideLength) { - final int initialSize = Math.max(w / minSideLength, h / minSideLength); - if (initialSize <= 1) return 1; - - return initialSize <= 8 ? TwidereMathUtils.prevPowerOf2(initialSize) : initialSize / 8 * 8; - } - - public static boolean downscaleImageIfNeeded(final File imageFile, final int quality) { - if (imageFile == null || !imageFile.isFile()) return false; - final String path = imageFile.getAbsolutePath(); - final BitmapFactory.Options o = new BitmapFactory.Options(); - o.inJustDecodeBounds = true; - BitmapFactory.decodeFile(path, o); - // Corrupted image, so return now. - if (o.outWidth <= 0 || o.outHeight <= 0) return false; - // Ignore for GIF image - if ("image/gif".equals(o.outMimeType)) return true; - o.inJustDecodeBounds = false; - if (o.outWidth > TwidereConstants.TWITTER_MAX_IMAGE_WIDTH || o.outHeight > TwidereConstants.TWITTER_MAX_IMAGE_HEIGHT) { - // The image dimension is larger than Twitter's limit. - o.inSampleSize = Utils.calculateInSampleSize(o.outWidth, o.outHeight, TwidereConstants.TWITTER_MAX_IMAGE_WIDTH, - TwidereConstants.TWITTER_MAX_IMAGE_HEIGHT); - FileOutputStream fos = null; - try { - final Bitmap b = BitmapDecodeHelper.decode(path, o); - final Bitmap.CompressFormat format = Utils.getBitmapCompressFormatByMimeType(o.outMimeType, - Bitmap.CompressFormat.PNG); - fos = new FileOutputStream(imageFile); - return b.compress(format, quality, fos); - } catch (final OutOfMemoryError e) { - return false; - } catch (final FileNotFoundException e) { - // This shouldn't happen. - } catch (final IllegalArgumentException e) { - return false; - } finally { - IoUtils.closeSilently(fos); - } - } else if (imageFile.length() > TwidereConstants.TWITTER_MAX_IMAGE_SIZE) { - // The file size is larger than Twitter's limit. - FileOutputStream fos = null; - try { - final Bitmap b = BitmapDecodeHelper.decode(path, o); - fos = new FileOutputStream(imageFile); - return b.compress(Bitmap.CompressFormat.JPEG, 80, fos); - } catch (final OutOfMemoryError e) { - return false; - } catch (final FileNotFoundException e) { - // This shouldn't happen. - } finally { - IoUtils.closeSilently(fos); - } - } - return true; - } - public static Bitmap getCircleBitmap(Bitmap bitmap) { final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888); @@ -125,35 +59,28 @@ public class BitmapUtils { return output; } - // Resize the bitmap if each side is >= targetSize * 2 - public static Bitmap resizeDownIfTooBig(final Bitmap bitmap, final int targetSize, final boolean recycle) { - final int srcWidth = bitmap.getWidth(); - final int srcHeight = bitmap.getHeight(); - final float scale = Math.max((float) targetSize / srcWidth, (float) targetSize / srcHeight); - if (scale > 0.5f) return bitmap; - return resizeBitmapByScale(bitmap, scale, recycle); + @Nullable + public static String getImageMimeType(ContentResolver cr, final Uri uri) { + if (uri == null) return null; + final BitmapFactory.Options o = new BitmapFactory.Options(); + o.inJustDecodeBounds = true; + InputStream is = null; + try { + is = cr.openInputStream(uri); + BitmapFactory.decodeStream(is, null, o); + return o.outMimeType; + } catch (IOException e) { + return null; + } finally { + Utils.closeSilently(is); + } } - private static Bitmap.Config getConfig(final Bitmap bitmap) { - Bitmap.Config config = bitmap.getConfig(); - if (config == null) { - config = Bitmap.Config.RGB_565; - } - return config; - } - - private static Bitmap resizeBitmapByScale(final Bitmap bitmap, final float scale, final boolean recycle) { - final int width = Math.round(bitmap.getWidth() * scale); - final int height = Math.round(bitmap.getHeight() * scale); - if (width == bitmap.getWidth() && height == bitmap.getHeight()) return bitmap; - final Bitmap target = Bitmap.createBitmap(width, height, getConfig(bitmap)); - final Canvas canvas = new Canvas(target); - canvas.scale(scale, scale); - final Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG | Paint.DITHER_FLAG); - canvas.drawBitmap(bitmap, 0, 0, paint); - if (recycle) { - bitmap.recycle(); - } - return target; + public static String getImageMimeType(final File image) { + if (image == null) return null; + final BitmapFactory.Options o = new BitmapFactory.Options(); + o.inJustDecodeBounds = true; + BitmapFactory.decodeFile(image.getPath(), o); + return o.outMimeType; } } diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/BuildProperties.java b/twidere/src/main/java/org/mariotaku/twidere/util/BuildProperties.java deleted file mode 100644 index daf884f5d..000000000 --- a/twidere/src/main/java/org/mariotaku/twidere/util/BuildProperties.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.mariotaku.twidere.util; - -import android.os.Environment; - -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Map.Entry; -import java.util.Properties; -import java.util.Set; - -public class BuildProperties { - - private final Properties properties; - - private BuildProperties() throws IOException { - properties = new Properties(); - final InputStream is = new FileInputStream(new File(Environment.getRootDirectory(), "build.prop")); - try { - properties.load(is); - } finally { - Utils.closeSilently(is); - } - } - - public boolean containsKey(final Object key) { - return properties.containsKey(key); - } - - public boolean containsValue(final Object value) { - return properties.containsValue(value); - } - - public Set> entrySet() { - return properties.entrySet(); - } - - public String getProperty(final String name) { - return properties.getProperty(name); - } - - public String getProperty(final String name, final String defaultValue) { - return properties.getProperty(name, defaultValue); - } - - public boolean isEmpty() { - return properties.isEmpty(); - } - - public Enumeration keys() { - return properties.keys(); - } - - public Set keySet() { - return properties.keySet(); - } - - public int size() { - return properties.size(); - } - - public Collection values() { - return properties.values(); - } - - public static BuildProperties newInstance() throws IOException { - return new BuildProperties(); - } - -} diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/CheckUtils.java b/twidere/src/main/java/org/mariotaku/twidere/util/CheckUtils.java index 518348bc6..7818ba43c 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/CheckUtils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/CheckUtils.java @@ -43,10 +43,7 @@ public class CheckUtils { return false; } - if (start < 0 || end < 0) { - return false; - } - return true; + return !(start < 0 || end < 0); } public static boolean isValidLocale(String locale) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java b/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java index 57cbb0407..49ff47223 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/TwitterWrapper.java @@ -237,7 +237,7 @@ public class TwitterWrapper implements Constants { final ContentResolver cr = context.getContentResolver(); String type = cr.getType(imageUri); if (type == null) { - type = Utils.getImageMimeType(cr, imageUri); + type = BitmapUtils.getImageMimeType(cr, imageUri); } final ContentType contentType; final String extension; diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java b/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java index a7ac38569..54573ffc3 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/Utils.java @@ -36,15 +36,9 @@ import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Resources; import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Color; import android.graphics.PorterDuff.Mode; import android.graphics.Rect; -import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; -import android.graphics.drawable.NinePatchDrawable; -import android.graphics.drawable.TransitionDrawable; import android.location.Location; import android.location.LocationManager; import android.net.ConnectivityManager; @@ -65,13 +59,8 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.StringRes; import android.support.annotation.WorkerThread; -import android.support.v4.app.ActivityOptionsCompat; import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentActivity; -import android.support.v4.app.ListFragment; -import android.support.v4.content.ContextCompat; import android.support.v4.net.ConnectivityManagerCompat; -import android.support.v4.util.Pair; import android.support.v4.view.GravityCompat; import android.support.v4.view.accessibility.AccessibilityEventCompat; import android.support.v7.app.AppCompatActivity; @@ -95,11 +84,8 @@ import android.view.View; import android.view.Window; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityManager; -import android.webkit.MimeTypeMap; import android.widget.AbsListView; -import android.widget.ListAdapter; import android.widget.ListView; -import android.widget.TextView; import android.widget.Toast; import org.apache.commons.lang3.ArrayUtils; @@ -155,12 +141,10 @@ import org.mariotaku.twidere.fragment.UserMediaTimelineFragment; import org.mariotaku.twidere.fragment.UserMentionsFragment; import org.mariotaku.twidere.fragment.UserProfileEditorFragment; import org.mariotaku.twidere.fragment.UserTimelineFragment; -import org.mariotaku.twidere.fragment.iface.IBaseFragment.SystemWindowsInsetsCallback; import org.mariotaku.twidere.graphic.PaddingDrawable; import org.mariotaku.twidere.model.AccountPreferences; import org.mariotaku.twidere.model.ParcelableAccount; import org.mariotaku.twidere.model.ParcelableCredentials; -import org.mariotaku.twidere.model.ParcelableCredentialsCursorIndices; import org.mariotaku.twidere.model.ParcelableDirectMessage; import org.mariotaku.twidere.model.ParcelableDirectMessageCursorIndices; import org.mariotaku.twidere.model.ParcelableStatus; @@ -193,18 +177,13 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Field; -import java.net.URLEncoder; -import java.nio.charset.Charset; import java.text.NumberFormat; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.Locale; import java.util.Map.Entry; import java.util.regex.Matcher; import java.util.regex.Pattern; -import java.util.zip.CRC32; import javax.net.ssl.SSLException; @@ -215,7 +194,6 @@ import static org.mariotaku.twidere.provider.TwidereDataStore.DIRECT_MESSAGES_UR import static org.mariotaku.twidere.provider.TwidereDataStore.STATUSES_URIS; import static org.mariotaku.twidere.util.TwidereLinkify.PATTERN_TWITTER_PROFILE_IMAGES; -@SuppressWarnings("unused") public final class Utils implements Constants { public static final Pattern PATTERN_XML_RESOURCE_IDENTIFIER = Pattern.compile("res/xml/([\\w_]+)\\.xml"); @@ -372,32 +350,6 @@ public final class Utils implements Constants { return Math.max(1, result); } - public static boolean checkActivityValidity(final Context context, final Intent intent) { - final PackageManager pm = context.getPackageManager(); - return !pm.queryIntentActivities(intent, 0).isEmpty(); - } - - public static void clearListViewChoices(final AbsListView view) { - if (view == null) return; - final ListAdapter adapter = view.getAdapter(); - if (adapter == null) return; - view.clearChoices(); - for (int i = 0, j = view.getChildCount(); i < j; i++) { - view.setItemChecked(i, false); - } - view.post(new Runnable() { - @Override - public void run() { - view.setChoiceMode(AbsListView.CHOICE_MODE_NONE); - } - }); - // Workaround for Android bug - // http://stackoverflow.com/questions/9754170/listview-selection-remains-persistent-after-exiting-choice-mode -// final int position = view.getFirstVisiblePosition(), offset = Utils.getFirstChildOffset(view); -// view.setAdapter(adapter); -// Utils.scrollListToPosition(view, position, offset); - } - public static boolean closeSilently(final Closeable c) { if (c == null) return false; try { @@ -845,28 +797,6 @@ public final class Utils implements Constants { return tag + "_" + accountKey; } - public static String encodeQueryParams(final String value) throws IOException { - final String encoded = URLEncoder.encode(value, "UTF-8"); - final StringBuilder buf = new StringBuilder(); - final int length = encoded.length(); - char focus; - for (int i = 0; i < length; i++) { - focus = encoded.charAt(i); - if (focus == '*') { - buf.append("%2A"); - } else if (focus == '+') { - buf.append("%20"); - } else if (focus == '%' && i + 1 < encoded.length() && encoded.charAt(i + 1) == '7' - && encoded.charAt(i + 2) == 'E') { - buf.append('~'); - i += 2; - } else { - buf.append(focus); - } - } - return buf.toString(); - } - public static ParcelableDirectMessage findDirectMessageInDatabases(final Context context, final UserKey accountKey, final long messageId) { @@ -943,33 +873,6 @@ public final class Utils implements Constants { return DateUtils.formatDateTime(context, timestamp, DateUtils.FORMAT_SHOW_DATE); } - @SuppressWarnings("deprecation") - public static String formatTimeStampString(final Context context, final long timestamp) { - if (context == null) return null; - final Time then = new Time(); - then.set(timestamp); - final Time now = new Time(); - now.setToNow(); - - int format_flags = DateUtils.FORMAT_NO_NOON_MIDNIGHT | DateUtils.FORMAT_ABBREV_ALL | DateUtils.FORMAT_CAP_AMPM; - - if (then.year != now.year) { - format_flags |= DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_DATE; - } else if (then.yearDay != now.yearDay) { - format_flags |= DateUtils.FORMAT_SHOW_DATE; - } else { - format_flags |= DateUtils.FORMAT_SHOW_TIME; - } - - return DateUtils.formatDateTime(context, timestamp, format_flags); - } - - @SuppressWarnings("deprecation") - public static String formatTimeStampString(final Context context, final String date_time) { - if (context == null) return null; - return formatTimeStampString(context, Date.parse(date_time)); - } - @SuppressWarnings("deprecation") public static String formatToLongTimeString(final Context context, final long timestamp) { if (context == null) return null; @@ -985,10 +888,6 @@ public final class Utils implements Constants { return DateUtils.formatDateTime(context, timestamp, format_flags); } - public static int getAccountNotificationId(final int notificationType, final long accountId) { - return Arrays.hashCode(new long[]{notificationType, accountId}); - } - public static boolean isComposeNowSupported(Context context) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN || context == null) return false; return hasNavBar(context); @@ -1014,16 +913,6 @@ public final class Utils implements Constants { return isOAuth && TwitterContentUtils.isOfficialKey(context, consumerKey, consumerSecret); } - public static TextView newSectionView(final Context context, final int titleRes) { - return newSectionView(context, titleRes != 0 ? context.getString(titleRes) : null); - } - - public static TextView newSectionView(final Context context, final CharSequence title) { - final TextView textView = new TextView(context, null, android.R.attr.listSeparatorTextViewStyle); - textView.setText(title); - return textView; - } - public static boolean setLastSeen(Context context, ParcelableUserMention[] entities, long time) { if (entities == null) return false; boolean result = false; @@ -1047,61 +936,6 @@ public final class Utils implements Constants { return cr.update(CachedUsers.CONTENT_URI, values, where, selectionArgs) > 0; } - public static File getBestCacheDir(final Context context, final String cacheDirName) { - if (context == null) throw new NullPointerException(); - final File extCacheDir; - try { - // Workaround for https://github.com/mariotaku/twidere/issues/138 - extCacheDir = context.getExternalCacheDir(); - } catch (final Exception e) { - return new File(context.getCacheDir(), cacheDirName); - } - if (extCacheDir != null && extCacheDir.isDirectory()) { - final File cacheDir = new File(extCacheDir, cacheDirName); - if (cacheDir.isDirectory() || cacheDir.mkdirs()) return cacheDir; - } - return new File(context.getCacheDir(), cacheDirName); - } - - public static String getBiggerTwitterProfileImage(final String url) { - return getTwitterProfileImageOfSize(url, "bigger"); - } - - public static Bitmap getBitmap(final Drawable drawable) { - if (drawable instanceof NinePatchDrawable) return null; - if (drawable instanceof BitmapDrawable) - return ((BitmapDrawable) drawable).getBitmap(); - else if (drawable instanceof TransitionDrawable) { - final int layer_count = ((TransitionDrawable) drawable).getNumberOfLayers(); - for (int i = 0; i < layer_count; i++) { - final Drawable layer = ((TransitionDrawable) drawable).getDrawable(i); - if (layer instanceof BitmapDrawable) return ((BitmapDrawable) layer).getBitmap(); - } - } - return null; - } - - public static Bitmap.CompressFormat getBitmapCompressFormatByMimeType(final String mimeType, - final Bitmap.CompressFormat def) { - final String extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType); - if ("jpeg".equalsIgnoreCase(extension) || "jpg".equalsIgnoreCase(extension)) - return Bitmap.CompressFormat.JPEG; - else if ("png".equalsIgnoreCase(extension)) - return Bitmap.CompressFormat.PNG; - else if ("webp".equalsIgnoreCase(extension)) return Bitmap.CompressFormat.WEBP; - return def; - } - - public static int getCardHighlightColor(final Context context, final boolean isMention, - final boolean isFavorite, final boolean isRetweet) { - if (isMention) - return ContextCompat.getColor(context, R.color.highlight_reply); - else if (isFavorite) - return ContextCompat.getColor(context, R.color.highlight_like); - else if (isRetweet) ContextCompat.getColor(context, R.color.highlight_retweet); - return Color.TRANSPARENT; - } - public static Selectable getColumnsFromProjection(final String... projection) { if (projection == null) return new AllColumns(); @@ -1168,48 +1002,6 @@ public final class Utils implements Constants { return t.getMessage(); } - public static int getFirstChildOffset(final AbsListView list) { - if (list == null || list.getChildCount() == 0) return 0; - final View child = list.getChildAt(0); - final int[] location = new int[2]; - child.getLocationOnScreen(location); - Log.d(LOGTAG, String.format("getFirstChildOffset %d vs %d", child.getTop(), location[1])); - return child.getTop(); - } - - - public static String getImageMimeType(final File image) { - if (image == null) return null; - final BitmapFactory.Options o = new BitmapFactory.Options(); - o.inJustDecodeBounds = true; - BitmapFactory.decodeFile(image.getPath(), o); - return o.outMimeType; - } - - public static String getImageMimeType(final InputStream is) { - if (is == null) return null; - final BitmapFactory.Options o = new BitmapFactory.Options(); - o.inJustDecodeBounds = true; - BitmapFactory.decodeStream(is, null, o); - return o.outMimeType; - } - - @Nullable - public static String getImageMimeType(ContentResolver cr, final Uri uri) { - if (uri == null) return null; - final BitmapFactory.Options o = new BitmapFactory.Options(); - o.inJustDecodeBounds = true; - InputStream is = null; - try { - is = cr.openInputStream(uri); - BitmapFactory.decodeStream(is, null, o); - return o.outMimeType; - } catch (IOException e) { - return null; - } finally { - closeSilently(is); - } - } public static String getImagePathFromUri(final Context context, final Uri uri) { if (context == null || uri == null) return null; @@ -1262,17 +1054,6 @@ public final class Utils implements Constants { return new File(context.getCacheDir(), cacheDirName); } - public static String getLinkHighlightingStyleName(final Context context) { - if (context == null) return null; - final SharedPreferences prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE); - return prefs.getString(KEY_LINK_HIGHLIGHT_OPTION, VALUE_LINK_HIGHLIGHT_OPTION_NONE); - } - - @HighlightStyle - public static int getLinkHighlightingStyle(final Context context) { - return getLinkHighlightingStyleInt(getLinkHighlightingStyleName(context)); - } - @HighlightStyle public static int getLinkHighlightingStyleInt(final String option) { if (option == null) return VALUE_LINK_HIGHLIGHT_OPTION_CODE_NONE; @@ -1381,10 +1162,6 @@ public final class Utils implements Constants { return result; } - public static String getReasonablySmallTwitterProfileImage(final String url) { - return getTwitterProfileImageOfSize(url, "reasonably_small"); - } - public static int getResId(final Context context, final String string) { if (context == null || string == null) return 0; Matcher m = PATTERN_RESOURCE_IDENTIFIER.matcher(string); @@ -1396,13 +1173,6 @@ public final class Utils implements Constants { } - public static String getSenderUserName(final Context context, final ParcelableDirectMessage user) { - if (context == null || user == null) return null; - final SharedPreferences prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE); - final boolean display_name = prefs.getBoolean(KEY_NAME_FIRST, true); - return display_name ? user.sender_name : "@" + user.sender_screen_name; - } - public static String getShareStatus(final Context context, final CharSequence title, final CharSequence text) { if (context == null) return null; String share_format = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE).getString( @@ -1433,11 +1203,6 @@ public final class Utils implements Constants { return VALUE_TAB_DISPLAY_OPTION_CODE_BOTH; } - public static long getTimestampFromDate(final Date date) { - if (date == null) return -1; - return date.getTime(); - } - public static boolean hasNavBar(@NonNull Context context) { final Resources resources = context.getResources(); if (resources == null) return false; @@ -1518,43 +1283,11 @@ public final class Utils implements Constants { return 0; } - public static boolean hasAccountSignedWithOfficialKeys(final Context context) { - if (context == null) return false; - final Cursor cur = context.getContentResolver().query(Accounts.CONTENT_URI, Accounts.COLUMNS, null, null, null); - if (cur == null) return false; - final String[] keySecrets = context.getResources().getStringArray(R.array.values_official_consumer_secret_crc32); - final ParcelableCredentialsCursorIndices indices = new ParcelableCredentialsCursorIndices(cur); - cur.moveToFirst(); - final CRC32 crc32 = new CRC32(); - try { - while (!cur.isAfterLast()) { - final String consumerSecret = cur.getString(indices.consumer_secret); - if (consumerSecret != null) { - final byte[] consumerSecretBytes = consumerSecret.getBytes(Charset.forName("UTF-8")); - crc32.update(consumerSecretBytes, 0, consumerSecretBytes.length); - final long value = crc32.getValue(); - crc32.reset(); - for (final String keySecret : keySecrets) { - if (Long.parseLong(keySecret, 16) == value) return true; - } - } - cur.moveToNext(); - } - } finally { - cur.close(); - } - return false; - } - public static boolean hasAutoRefreshAccounts(final Context context) { final UserKey[] accountKeys = DataStoreUtils.getAccountKeys(context); return !ArrayUtils.isEmpty(AccountPreferences.getAutoRefreshEnabledAccountIds(context, accountKeys)); } - public static boolean hasStaggeredTimeline() { - return false; - } - public static boolean isBatteryOkay(final Context context) { if (context == null) return false; final Context app = context.getApplicationContext(); @@ -1567,18 +1300,6 @@ public final class Utils implements Constants { return plugged || level / scale > 0.15f; } - public static boolean isDatabaseReady(final Context context) { - final Cursor c = context.getContentResolver().query(TwidereDataStore.CONTENT_URI_DATABASE_READY, null, null, null, - null); - try { - return c != null; - } finally { - if (c != null) { - c.close(); - } - } - } - public static boolean isMyAccount(final Context context, @Nullable final UserKey accountKey) { if (context == null || accountKey == null) return false; final String[] projection = new String[]{SQLFunctions.COUNT()}; @@ -1626,16 +1347,6 @@ public final class Utils implements Constants { } } - @Deprecated - public static boolean isUserLoggedIn(final Context context, final String accountId) { - if (context == null) return false; - final UserKey[] ids = DataStoreUtils.getAccountKeys(context); - for (final UserKey id : ids) { - if (TextUtils.equals(id.getId(), accountId)) return true; - } - return false; - } - public static int matchLinkId(@Nullable final Uri uri) { if (uri == null) return UriMatcher.NO_MATCH; return LINK_HANDLER_URI_MATCHER.match(uri); @@ -1705,13 +1416,6 @@ public final class Utils implements Constants { return top - actionBarHeight; } - public static int getInsetsTopWithoutActionBarHeight(Context context, int top, int actionBarHeight) { - if (actionBarHeight > top) { - return top; - } - return top - actionBarHeight; - } - public static void restartActivity(final Activity activity) { if (activity == null) return; final int enterAnim = android.R.anim.fade_in; @@ -1817,16 +1521,6 @@ public final class Utils implements Constants { showInfoMessage(context, context.getText(resId), long_message); } - public static void showMenuItemToast(final View v, final CharSequence text) { - final int[] screenPos = new int[2]; - final Rect displayFrame = new Rect(); - v.getLocationOnScreen(screenPos); - v.getWindowVisibleDisplayFrame(displayFrame); - final int height = v.getHeight(); - final int midy = screenPos[1] + height / 2; - showMenuItemToast(v, text, midy >= displayFrame.height()); - } - public static void showMenuItemToast(final View v, final CharSequence text, final boolean isBottomBar) { final int[] screenPos = new int[2]; final Rect displayFrame = new Rect(); @@ -1903,17 +1597,6 @@ public final class Utils implements Constants { showErrorMessage(context, message, long_message); } - public static void showWarnMessage(final Context context, final CharSequence message, final boolean longMessage) { - if (context == null || TextUtils.isEmpty(message)) return; - final Toast toast = Toast.makeText(context, message, longMessage ? Toast.LENGTH_LONG : Toast.LENGTH_SHORT); - toast.show(); - } - - public static void showWarnMessage(final Context context, final int resId, final boolean long_message) { - if (context == null) return; - showWarnMessage(context, context.getText(resId), long_message); - } - public static void startRefreshServiceIfNeeded(@NonNull final Context context) { final Context appContext = context.getApplicationContext(); if (appContext == null) return; @@ -1975,10 +1658,6 @@ public final class Utils implements Constants { resolver.insert(CachedRelationships.CONTENT_URI, values); } - public static boolean useShareScreenshot() { - return Boolean.parseBoolean("false"); - } - private static Drawable getMetadataDrawable(final PackageManager pm, final ActivityInfo info, final String key) { if (pm == null || info == null || info.metaData == null || key == null || !info.metaData.containsKey(key)) return null; @@ -2025,22 +1704,6 @@ public final class Utils implements Constants { return 0; } - public static void makeListFragmentFitsSystemWindows(ListFragment fragment) { - final FragmentActivity activity = fragment.getActivity(); - if (!(activity instanceof SystemWindowsInsetsCallback)) return; - final SystemWindowsInsetsCallback callback = (SystemWindowsInsetsCallback) activity; - final Rect insets = new Rect(); - if (callback.getSystemWindowsInsets(insets)) { - makeListFragmentFitsSystemWindows(fragment, insets); - } - } - - - public static void makeListFragmentFitsSystemWindows(ListFragment fragment, Rect insets) { - final ListView listView = fragment.getListView(); - listView.setPadding(insets.left, insets.top, insets.right, insets.bottom); - listView.setClipToPadding(false); - } @Nullable public static ParcelableUser getUserForConversation(@NonNull final Context context, @@ -2061,13 +1724,6 @@ public final class Utils implements Constants { return null; } - @SafeVarargs - public static Bundle makeSceneTransitionOption(final Activity activity, - final Pair... sharedElements) { - if (ThemeUtils.isTransparentBackground(activity)) return null; - return ActivityOptionsCompat.makeSceneTransitionAnimation(activity, sharedElements).toBundle(); - } - public static void setSharedElementTransition(Context context, Window window, int transitionRes) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) return; @@ -2110,14 +1766,6 @@ public final class Utils implements Constants { return UtilsL.getErrorNo(t); } - public static boolean isOutOfMemory(Throwable ex) { - if (ex == null) return false; - final Throwable cause = ex.getCause(); - if (cause == null || cause == ex) return false; - if (cause instanceof OutOfMemoryError) return true; - return isOutOfMemory(cause); - } - public static void logOpenNotificationFromUri(Context context, Uri uri) { if (!uri.getBooleanQueryParameter(QUERY_PARAM_FROM_NOTIFICATION, false)) return; final String type = uri.getQueryParameter(QUERY_PARAM_NOTIFICATION_TYPE); @@ -2133,19 +1781,6 @@ public final class Utils implements Constants { HotMobiLogger.getInstance(context).log(accountKey, event); } - public static boolean hasOfficialAPIAccess(@NonNull Context context, @NonNull ParcelableCredentials account) { - if (ParcelableAccount.Type.TWITTER.equals(account.account_type)) { - final TwitterAccountExtra extra = JsonSerializer.parse(account.account_extras, - TwitterAccountExtra.class); - if (extra != null) { - return extra.isOfficialCredentials(); - } - } - final boolean isOAuth = ParcelableCredentialsUtils.isOAuth(account.auth_type); - final String consumerKey = account.consumer_key, consumerSecret = account.consumer_secret; - return isOAuth && TwitterContentUtils.isOfficialKey(context, consumerKey, consumerSecret); - } - public static int getNotificationId(int baseId, @Nullable UserKey accountId) { int result = baseId; result = 31 * result + (accountId != null ? accountId.hashCode() : 0); @@ -2195,23 +1830,13 @@ public final class Utils implements Constants { } /** - * Send Notifications to Pebble smartwatches - * - * @param context Context - * @param message String - */ - public static void sendPebbleNotification(final Context context, final String message) { - sendPebbleNotification(context, null, message); - } - - /** - * Send Notifications to Pebble smartwatches + * Send Notifications to Pebble smart watches * * @param context Context * @param title String * @param message String */ - public static void sendPebbleNotification(final Context context, final String title, final String message) { + public static void sendPebbleNotification(@NonNull final Context context, @Nullable final String title, @NonNull final String message) { String appName; if (title == null) { @@ -2220,7 +1845,7 @@ public final class Utils implements Constants { appName = context.getString(R.string.app_name) + " - " + title; } - if (context == null || TextUtils.isEmpty(message)) return; + if (TextUtils.isEmpty(message)) return; final SharedPreferences prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME, Context.MODE_PRIVATE); if (prefs.getBoolean(KEY_PEBBLE_NOTIFICATIONS, false)) { diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/VideoLoadingListener.java b/twidere/src/main/java/org/mariotaku/twidere/util/VideoLoadingListener.java deleted file mode 100644 index d9c3e5d39..000000000 --- a/twidere/src/main/java/org/mariotaku/twidere/util/VideoLoadingListener.java +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Twidere - Twitter client for Android - * - * Copyright (C) 2012-2015 Mariotaku Lee - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package org.mariotaku.twidere.util; - -import java.io.File; - -/** - * Created by mariotaku on 15/12/31. - */ -public interface VideoLoadingListener { - - void onVideoLoadingCancelled(String uri, VideoLoadingListener listener); - - void onVideoLoadingComplete(String uri, VideoLoadingListener listener, File file); - - void onVideoLoadingFailed(String uri, VideoLoadingListener listener, Exception e); - - void onVideoLoadingProgressUpdate(String uri, VideoLoadingListener listener, int current, int total); - - void onVideoLoadingStarted(String uri, VideoLoadingListener listener); -} diff --git a/twidere/src/main/java/org/mariotaku/twidere/util/media/preview/provider/TwitterMediaProvider.java b/twidere/src/main/java/org/mariotaku/twidere/util/media/preview/provider/TwitterMediaProvider.java index e96d4df3d..14d494b1c 100644 --- a/twidere/src/main/java/org/mariotaku/twidere/util/media/preview/provider/TwitterMediaProvider.java +++ b/twidere/src/main/java/org/mariotaku/twidere/util/media/preview/provider/TwitterMediaProvider.java @@ -55,10 +55,7 @@ public class TwitterMediaProvider implements Provider { } final String path = UriUtils.getPath(link); if (path == null) return false; - if (path.startsWith("/media/")) { - return true; - } - return false; + return path.startsWith("/media/"); } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt index 391462e05..4c303729f 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/ComposeActivity.kt @@ -1175,7 +1175,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener if (locationText!!.tag == null || location != recentLocation) { val task = DisplayPlaceNameTask(this) task.params = location - task.setCallback(locationText) + task.callback = locationText TaskStarter.execute(task) } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/LinkHandlerActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/LinkHandlerActivity.kt index 522605a58..9ac66cd8d 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/LinkHandlerActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/LinkHandlerActivity.kt @@ -405,7 +405,7 @@ class LinkHandlerActivity : BaseActivity(), SystemWindowsInsetsCallback, IContro val actionBar = supportActionBar if (actionBar != null) { actionBar.setDisplayHomeAsUpEnabled(true) - actionBar.setSubtitle(mSubtitle) + actionBar.subtitle = mSubtitle } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt index 8bf257a80..f04c95635 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/SignInActivity.kt @@ -728,48 +728,48 @@ class SignInActivity : BaseActivity(), OnClickListener, TextWatcher { when (authType) { ParcelableCredentials.AuthType.BASIC -> { values = ContentValues() - values.put(TwidereDataStore.Accounts.BASIC_AUTH_USERNAME, basicUsername) - values.put(TwidereDataStore.Accounts.BASIC_AUTH_PASSWORD, basicPassword) - values.put(TwidereDataStore.Accounts.AUTH_TYPE, ParcelableCredentials.AuthType.BASIC) + values.put(Accounts.BASIC_AUTH_USERNAME, basicUsername) + values.put(Accounts.BASIC_AUTH_PASSWORD, basicPassword) + values.put(Accounts.AUTH_TYPE, ParcelableCredentials.AuthType.BASIC) } ParcelableCredentials.AuthType.TWIP_O_MODE -> { values = ContentValues() - values.put(TwidereDataStore.Accounts.AUTH_TYPE, ParcelableCredentials.AuthType.TWIP_O_MODE) + values.put(Accounts.AUTH_TYPE, ParcelableCredentials.AuthType.TWIP_O_MODE) } ParcelableCredentials.AuthType.OAUTH, ParcelableCredentials.AuthType.XAUTH -> { values = ContentValues() val accessToken = oauth!!.oauthToken - values.put(TwidereDataStore.Accounts.OAUTH_TOKEN, accessToken.oauthToken) - values.put(TwidereDataStore.Accounts.OAUTH_TOKEN_SECRET, accessToken.oauthTokenSecret) - values.put(TwidereDataStore.Accounts.CONSUMER_KEY, oauth.getConsumerKey()) - values.put(TwidereDataStore.Accounts.CONSUMER_SECRET, oauth.getConsumerSecret()) - values.put(TwidereDataStore.Accounts.AUTH_TYPE, authType) + values.put(Accounts.OAUTH_TOKEN, accessToken.oauthToken) + values.put(Accounts.OAUTH_TOKEN_SECRET, accessToken.oauthTokenSecret) + values.put(Accounts.CONSUMER_KEY, oauth.consumerKey) + values.put(Accounts.CONSUMER_SECRET, oauth.consumerSecret) + values.put(Accounts.AUTH_TYPE, authType) } else -> { return null } } - values.put(TwidereDataStore.Accounts.ACCOUNT_KEY, UserKeyUtils.fromUser(user).toString()) - values.put(TwidereDataStore.Accounts.SCREEN_NAME, user.screenName) - values.put(TwidereDataStore.Accounts.NAME, user.name) - values.put(TwidereDataStore.Accounts.PROFILE_IMAGE_URL, TwitterContentUtils.getProfileImageUrl(user)) - values.put(TwidereDataStore.Accounts.PROFILE_BANNER_URL, user.profileBannerImageUrl) + values.put(Accounts.ACCOUNT_KEY, UserKeyUtils.fromUser(user).toString()) + values.put(Accounts.SCREEN_NAME, user.screenName) + values.put(Accounts.NAME, user.name) + values.put(Accounts.PROFILE_IMAGE_URL, TwitterContentUtils.getProfileImageUrl(user)) + values.put(Accounts.PROFILE_BANNER_URL, user.profileBannerImageUrl) - values.put(TwidereDataStore.Accounts.COLOR, color) - values.put(TwidereDataStore.Accounts.IS_ACTIVATED, 1) + values.put(Accounts.COLOR, color) + values.put(Accounts.IS_ACTIVATED, 1) - values.put(TwidereDataStore.Accounts.API_URL_FORMAT, apiUrlFormat) - values.put(TwidereDataStore.Accounts.SAME_OAUTH_SIGNING_URL, sameOAuthSigningUrl) - values.put(TwidereDataStore.Accounts.NO_VERSION_SUFFIX, noVersionSuffix) + values.put(Accounts.API_URL_FORMAT, apiUrlFormat) + values.put(Accounts.SAME_OAUTH_SIGNING_URL, sameOAuthSigningUrl) + values.put(Accounts.NO_VERSION_SUFFIX, noVersionSuffix) if (accountType != null) { - values.put(TwidereDataStore.Accounts.ACCOUNT_TYPE, accountType.first) - values.put(TwidereDataStore.Accounts.ACCOUNT_EXTRAS, accountType.second) + values.put(Accounts.ACCOUNT_TYPE, accountType.first) + values.put(Accounts.ACCOUNT_EXTRAS, accountType.second) val accountKey = UserKeyUtils.fromUser(user) val parcelableUser = ParcelableUserUtils.fromUser(user, accountKey) - values.put(TwidereDataStore.Accounts.ACCOUNT_USER, JsonSerializer.serialize(parcelableUser, ParcelableUser::class.java)) + values.put(Accounts.ACCOUNT_USER, JsonSerializer.serialize(parcelableUser, ParcelableUser::class.java)) } return values } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt index 1ef886bdf..87d6b9aa4 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AbsActivitiesFragment.kt @@ -390,7 +390,7 @@ abstract class AbsActivitiesFragment protected constructor() : AbsContentListRec } } } - task.setCallback(recyclerView) + task.callback = recyclerView TaskStarter.execute(task) bus.register(statusesBusCallback) } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt index 8e96bda32..c0954f0df 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/AccountsDashboardFragment.kt @@ -314,8 +314,8 @@ class AccountsDashboardFragment : BaseSupportFragment(), LoaderCallbacks 0) { count += adapter.getTypeCount(StatusAdapter.ITEM_IDX_SPACE) } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserFragment.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserFragment.kt index bf94c92bc..7ce4c4a3b 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserFragment.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/fragment/UserFragment.kt @@ -335,7 +335,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener } private fun updateSubtitle() { - val activity = activity as AppCompatActivity ?: return + val activity = activity as AppCompatActivity val actionBar = activity.supportActionBar ?: return val user = this.user if (user == null) { @@ -1150,7 +1150,7 @@ class UserFragment : BaseSupportFragment(), OnClickListener, OnLinkClickListener return true } TwidereLinkify.LINK_TYPE_LIST -> { - val mentionList = link.split("/".toRegex()).dropLastWhile { it.isEmpty() } + val mentionList = link.split("/").dropLastWhile(String::isEmpty) if (mentionList.size != 2) { return false } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUserLoader.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUserLoader.kt index a52ab5477..e9d71fa8f 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUserLoader.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/loader/ParcelableUserLoader.kt @@ -159,7 +159,7 @@ class ParcelableUserLoader( return response } catch (e: MicroBlogException) { Log.w(LOGTAG, e) - return SingleResponse(exception = e); + return SingleResponse(exception = e) } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/util/MapFragmentFactory.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/util/MapFragmentFactory.kt index 2ca8ea49d..ffcb1ea84 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/util/MapFragmentFactory.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/util/MapFragmentFactory.kt @@ -27,7 +27,7 @@ import android.support.v4.app.Fragment */ abstract class MapFragmentFactory { - abstract fun createMapFragment(context: Context): Fragment? + abstract fun createMapFragment(context: Context): Fragment companion object { diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/util/MenuUtils.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/util/MenuUtils.kt index a47d0563c..0bc753bb9 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/util/MenuUtils.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/util/MenuUtils.kt @@ -69,11 +69,11 @@ object MenuUtils { } fun setItemChecked(menu: Menu?, id: Int, checked: Boolean) { - menu?.setItemChecked(id, checked); + menu?.setItemChecked(id, checked) } fun setMenuItemIcon(menu: Menu?, id: Int, @DrawableRes icon: Int) { - menu?.setMenuItemIcon(id, icon); + menu?.setMenuItemIcon(id, icon) } fun setMenuItemTitle(menu: Menu?, id: Int, @StringRes icon: Int) {