updated PickNCrop

This commit is contained in:
Mariotaku Lee 2017-01-23 00:23:08 +08:00
parent 5f6dcf6556
commit 6bd462225b
No known key found for this signature in database
GPG Key ID: 9C0706AE47FCE2AD
7 changed files with 46 additions and 90 deletions

View File

@ -158,7 +158,7 @@ dependencies {
compile 'com.bluelinelabs:logansquare:1.3.7'
compile 'com.soundcloud.android:android-crop:1.0.1@aar'
compile 'com.hannesdorfmann.parcelableplease:annotation:1.0.2'
compile 'com.github.mariotaku:PickNCrop:0.9.5'
compile 'com.github.mariotaku:PickNCrop:0.9.7'
compile "com.github.mariotaku.RestFu:library:$mariotaku_restfu_version"
compile "com.github.mariotaku.RestFu:okhttp3:$mariotaku_restfu_version"
compile 'com.squareup.okhttp3:okhttp:3.5.0'

View File

@ -347,7 +347,7 @@
</intent-filter>
</activity>
<activity
android:name=".activity.ThemedImagePickerActivity"
android:name=".activity.ThemedMediaPickerActivity"
android:exported="false"
android:theme="@style/Theme.Twidere.NoDisplay"
android:windowSoftInputMode="adjustResize">

View File

@ -1,75 +0,0 @@
package org.mariotaku.twidere.activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
import org.mariotaku.pickncrop.library.ImagePickerActivity;
import org.mariotaku.twidere.util.RestFuNetworkStreamDownloader;
public class ThemedImagePickerActivity extends ImagePickerActivity {
public static ThemedIntentBuilder withThemed(Context context) {
return new ThemedIntentBuilder(context);
}
@Override
protected void onStart() {
super.onStart();
setVisible(true);
}
public static final class ThemedIntentBuilder {
private final Context context;
private final IntentBuilder intentBuilder;
public ThemedIntentBuilder(final Context context) {
this.context = context;
this.intentBuilder = new IntentBuilder(context);
intentBuilder.cropImageActivityClass(ImageCropperActivity.class);
intentBuilder.streamDownloaderClass(RestFuNetworkStreamDownloader.class);
}
public ThemedIntentBuilder takePhoto() {
intentBuilder.takePhoto();
return this;
}
public ThemedIntentBuilder getImage(@NonNull final Uri uri) {
intentBuilder.getImage(uri);
return this;
}
public Intent build() {
final Intent intent = intentBuilder.build();
intent.setClass(context, ThemedImagePickerActivity.class);
return intent;
}
public ThemedIntentBuilder pickImage() {
intentBuilder.pickImage();
return this;
}
public ThemedIntentBuilder addEntry(final String name, final String value, final int result) {
intentBuilder.addEntry(name, value, result);
return this;
}
public ThemedIntentBuilder maximumSize(final int w, final int h) {
intentBuilder.maximumSize(w, h);
return this;
}
public ThemedIntentBuilder aspectRatio(final int x, final int y) {
intentBuilder.aspectRatio(x, y);
return this;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
}
}

View File

@ -0,0 +1,26 @@
package org.mariotaku.twidere.activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.support.annotation.NonNull;
import org.mariotaku.pickncrop.library.MediaPickerActivity;
import org.mariotaku.twidere.util.RestFuNetworkStreamDownloader;
public class ThemedMediaPickerActivity extends MediaPickerActivity {
public static IntentBuilder withThemed(Context context) {
final IntentBuilder builder = new IntentBuilder(context);
builder.cropImageActivityClass(ImageCropperActivity.class);
builder.streamDownloaderClass(RestFuNetworkStreamDownloader.class);
return builder;
}
@Override
protected void onStart() {
super.onStart();
setVisible(true);
}
}

View File

@ -700,7 +700,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
Spanned.SPAN_INCLUSIVE_INCLUSIVE)
}
if (!imageSources.isEmpty()) {
val intent = ThemedImagePickerActivity.withThemed(this@ComposeActivity).getImage(Uri.parse(imageSources[0])).build()
val intent = ThemedMediaPickerActivity.withThemed(this@ComposeActivity).getImage(Uri.parse(imageSources[0])).build()
startActivityForResult(intent, REQUEST_PICK_IMAGE)
}
}
@ -1113,7 +1113,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
}
private fun pickImage(): Boolean {
val intent = ThemedImagePickerActivity.withThemed(this).pickImage().build()
val intent = ThemedMediaPickerActivity.withThemed(this).pickImage().build()
startActivityForResult(intent, REQUEST_PICK_IMAGE)
return true
}
@ -1256,7 +1256,7 @@ class ComposeActivity : BaseActivity(), OnMenuItemClickListener, OnClickListener
}
private fun takePhoto(): Boolean {
val intent = ThemedImagePickerActivity.withThemed(this).takePhoto().build()
val intent = ThemedMediaPickerActivity.withThemed(this).takePhoto().build()
startActivityForResult(intent, REQUEST_TAKE_PHOTO)
return true
}

View File

@ -59,7 +59,7 @@ import org.mariotaku.sqliteqb.library.OrderBy
import org.mariotaku.twidere.R
import org.mariotaku.twidere.TwidereConstants.*
import org.mariotaku.twidere.activity.BaseActivity
import org.mariotaku.twidere.activity.ThemedImagePickerActivity
import org.mariotaku.twidere.activity.ThemedMediaPickerActivity
import org.mariotaku.twidere.adapter.AccountsSpinnerAdapter
import org.mariotaku.twidere.adapter.MessageConversationAdapter
import org.mariotaku.twidere.adapter.SimpleParcelableUsersAdapter
@ -366,7 +366,7 @@ class MessagesConversationFragment : BaseFragment(), LoaderCallbacks<Cursor?>, O
sendDirectMessage()
}
addImage -> {
val intent = ThemedImagePickerActivity.withThemed(activity).build()
val intent = ThemedMediaPickerActivity.withThemed(activity).build()
startActivityForResult(intent, REQUEST_PICK_IMAGE)
}
actionBarCustomView.queryButton -> {

View File

@ -48,7 +48,7 @@ import org.mariotaku.microblog.library.twitter.model.User
import org.mariotaku.twidere.R
import org.mariotaku.twidere.TwidereConstants.*
import org.mariotaku.twidere.activity.ColorPickerDialogActivity
import org.mariotaku.twidere.activity.ThemedImagePickerActivity
import org.mariotaku.twidere.activity.ThemedMediaPickerActivity
import org.mariotaku.twidere.extension.model.newMicroBlogInstance
import org.mariotaku.twidere.loader.ParcelableUserLoader
import org.mariotaku.twidere.model.AccountDetails
@ -91,20 +91,25 @@ class UserProfileEditorFragment : BaseFragment(), OnSizeChangedListener, TextWat
if (user == null || task != null && !task.isFinished)
return
when (view.id) {
R.id.profileImage -> {
}
R.id.profileBanner -> {
}
R.id.editProfileImage -> {
val intent = ThemedImagePickerActivity.withThemed(activity).aspectRatio(1, 1).maximumSize(512, 512).build()
val intent = ThemedMediaPickerActivity.withThemed(activity)
.aspectRatio(1, 1)
.maximumSize(512, 512)
.build()
startActivityForResult(intent, REQUEST_UPLOAD_PROFILE_IMAGE)
}
R.id.editProfileBanner -> {
val intent = ThemedImagePickerActivity.withThemed(activity).aspectRatio(3, 1).maximumSize(1500, 500).addEntry(getString(R.string.remove), "remove_banner", RESULT_REMOVE_BANNER).build()
val intent = ThemedMediaPickerActivity.withThemed(activity)
.aspectRatio(3, 1)
.maximumSize(1500, 500)
.addEntry(getString(R.string.remove), "remove_banner", RESULT_REMOVE_BANNER)
.build()
startActivityForResult(intent, REQUEST_UPLOAD_PROFILE_BANNER_IMAGE)
}
R.id.editProfileBackground -> {
val intent = ThemedImagePickerActivity.withThemed(activity).build()
val intent = ThemedMediaPickerActivity.withThemed(activity)
.pickMedia(false, false, false)
.build()
startActivityForResult(intent, REQUEST_UPLOAD_PROFILE_BACKGROUND_IMAGE)
}
R.id.setLinkColor -> {