Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 2.2.8 #813

Merged
merged 20 commits into from
Jan 31, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added ability to set custom OkHttpClient for image downloading
Updated okhttp dependency for uCrop
Added custom OkHttpClient for sample due to outdated random pic url
  • Loading branch information
DeMoss15 authored and dmitriy1morozov committed Jan 25, 2022
commit 037ac7785a671e999f70f35975533bdde74647dc
1 change: 1 addition & 0 deletions sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,5 +38,6 @@ dependencies {
implementation "androidx.appcompat:appcompat:${androidx_appcompat_version}"
implementation "androidx.core:core:${androidx_core_version}"
implementation "androidx.constraintlayout:constraintlayout:${constraintlayout_version}"
implementation "com.squareup.okhttp3:okhttp:3.12.13"
implementation project(':ucrop')
}
1 change: 1 addition & 0 deletions sample/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<uses-permission android:name="android.permission.INTERNET" />

<application
android:name=".SampleApp"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:requestLegacyExternalStorage="true"
Expand Down
32 changes: 32 additions & 0 deletions sample/src/main/java/com/yalantis/ucrop/sample/SampleApp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.yalantis.ucrop.sample;

import android.app.Application;

import com.yalantis.ucrop.UCropHttpClientStore;

import java.util.Collections;

import okhttp3.ConnectionSpec;
import okhttp3.OkHttpClient;

public class SampleApp extends Application {

@Override
public void onCreate() {
super.onCreate();
setUcropHttpClient();
}

private void setUcropHttpClient() {
ConnectionSpec cs = new ConnectionSpec.Builder(ConnectionSpec.MODERN_TLS)
.allEnabledCipherSuites()
.allEnabledTlsVersions()
.build();

OkHttpClient client = new OkHttpClient.Builder()
.connectionSpecs(Collections.singletonList(cs))
.build();

UCropHttpClientStore.INSTANCE.setClient(client);
}
}
3 changes: 2 additions & 1 deletion ucrop/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,6 @@ dependencies {
implementation "androidx.appcompat:appcompat:${androidx_appcompat_version}"
implementation "androidx.exifinterface:exifinterface:${androidx_exifinterface_version}"
implementation "androidx.transition:transition:${androidx_transition_version}"
implementation "com.squareup.okhttp3:okhttp:3.12.1"
// OkHttp3 versions above 3.12.x don't support pre-Lollipop Android versions (API 21)
implementation "com.squareup.okhttp3:okhttp:3.12.13"
}
26 changes: 26 additions & 0 deletions ucrop/src/main/java/com/yalantis/ucrop/UCropHttpClientStore.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.yalantis.ucrop;

import androidx.annotation.NonNull;

import okhttp3.OkHttpClient;

public class UCropHttpClientStore {

private UCropHttpClientStore() {}

public final static UCropHttpClientStore INSTANCE = new UCropHttpClientStore();

private OkHttpClient client;

@NonNull
public OkHttpClient getClient() {
if (client == null) {
client = new OkHttpClient();
}
return client;
}

public void setClient(@NonNull OkHttpClient client) {
this.client = client;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.yalantis.ucrop.UCropHttpClientStore;
import com.yalantis.ucrop.callback.BitmapLoadCallback;
import com.yalantis.ucrop.model.ExifInfo;
import com.yalantis.ucrop.util.BitmapLoadUtils;
Expand Down Expand Up @@ -204,15 +205,15 @@ private void downloadFile(@NonNull Uri inputUri, @Nullable Uri outputUri) throws
throw new NullPointerException("Output Uri is null - cannot download image");
}

OkHttpClient client = new OkHttpClient();
OkHttpClient client = UCropHttpClientStore.INSTANCE.getClient();

BufferedSource source = null;
Sink sink = null;
Response response = null;
try {
Request request = new Request.Builder()
.url(inputUri.toString())
.build();
.url(inputUri.toString())
.build();
response = client.newCall(request).execute();
source = response.body().source();

Expand Down