Skip to content

Commit eccb645

Browse files
committed
优化Sample,修复Both模式下获取不到媒体的BUG
1 parent 8fc0099 commit eccb645

File tree

9 files changed

+51
-31
lines changed

9 files changed

+51
-31
lines changed

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

LibMediaPicker/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,16 @@ android {
1212

1313

1414
compileOptions {
15-
targetCompatibility JavaVersion.VERSION_1_7
16-
sourceCompatibility JavaVersion.VERSION_1_7
15+
sourceCompatibility 1.8
16+
targetCompatibility 1.8
1717
}
1818
lintOptions {
1919
abortOnError false
2020
}
2121
dependencies {
2222
implementation fileTree(dir: 'libs', include: ['*.jar'])
23-
api "com.zhihu.android:matisse:0.5.2-beta4"
23+
api ("com.zhihu.android:matisse:0.5.2-beta4")
24+
2425
implementation 'io.reactivex.rxjava2:rxjava:2.1.9'
2526
implementation 'com.github.tbruyelle:rxpermissions:0.10.2'
2627
}

LibMediaPicker/src/main/java/me/bzcoder/mediapicker/SmartMediaPicker.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,11 @@ public void show() {
6060
CameraUtils.startCamera(fragment, config.getCameraMediaType(), config.getMaxVideoLength());
6161
}
6262
} else {
63-
cameraDialogFragment.setConfig(config);
63+
if (fragmentActivity != null) {
64+
cameraDialogFragment.setConfig(fragmentActivity,config);
65+
} else if (fragment != null) {
66+
cameraDialogFragment.setConfig(fragment,config);
67+
}
6468
cameraDialogFragment.show(manager, "cameraDialogFragment");
6569
}
6670

LibMediaPicker/src/main/java/me/bzcoder/mediapicker/camera/CameraDialogFragment.java

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import android.os.Bundle;
77
import android.support.annotation.NonNull;
88
import android.support.v4.app.DialogFragment;
9+
import android.support.v4.app.Fragment;
10+
import android.support.v4.app.FragmentActivity;
911
import android.util.DisplayMetrics;
1012
import android.view.Gravity;
1113
import android.view.LayoutInflater;
@@ -32,6 +34,8 @@ public class CameraDialogFragment extends DialogFragment {
3234
private ImageView ivPickPhoto;
3335
private ImageView ivCancel;
3436
private MediaPickerConfig config;
37+
private Fragment fragment;
38+
private FragmentActivity fragmentActivity;
3539

3640
@Override
3741
public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -82,34 +86,41 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
8286

8387
private void initView(View view) {
8488
ivTakePhoto = view.findViewById(R.id.iv_take_photo);
85-
ivTakePhoto.setOnClickListener(new View.OnClickListener() {
86-
@Override
87-
public void onClick(View v) {
88-
CameraUtils.startCamera(CameraDialogFragment.this, config.getCameraMediaType(), config.getMaxVideoLength());
89-
dismiss();
89+
ivTakePhoto.setOnClickListener(v -> {
90+
if (fragment != null) {
91+
CameraUtils.startCamera(fragment, config.getCameraMediaType(), config.getMaxVideoLength());
9092
}
93+
if (fragmentActivity != null) {
94+
CameraUtils.startCamera(fragmentActivity, config.getCameraMediaType(), config.getMaxVideoLength());
95+
}
96+
dismiss();
9197
});
9298
ivPickPhoto = view.findViewById(R.id.iv_pick_photo);
93-
ivPickPhoto.setOnClickListener(new View.OnClickListener() {
94-
@Override
95-
public void onClick(View v) {
96-
PhotoPickUtils.getAllSelector(CameraDialogFragment.this, config);
97-
dismiss();
99+
ivPickPhoto.setOnClickListener(v -> {
100+
if (fragment != null) {
101+
PhotoPickUtils.getAllSelector(fragment, config);
98102
}
99-
});
100-
ivCancel = view.findViewById(R.id.iv_cancel);
101-
ivCancel.setOnClickListener(new View.OnClickListener() {
102-
@Override
103-
public void onClick(View v) {
104-
dismiss();
103+
if (fragmentActivity != null) {
104+
PhotoPickUtils.getAllSelector(fragmentActivity, config);
105105
}
106+
107+
dismiss();
106108
});
109+
ivCancel = view.findViewById(R.id.iv_cancel);
110+
ivCancel.setOnClickListener(v -> dismiss());
107111
}
108112

109113

110-
public void setConfig(MediaPickerConfig config) {
114+
public void setConfig(Fragment fragment, MediaPickerConfig config) {
115+
this.fragment = fragment;
111116
this.config = config;
112-
}
117+
this.fragmentActivity = null;
113118

119+
}
114120

121+
public void setConfig(FragmentActivity fragmentActivity, MediaPickerConfig config) {
122+
this.fragment = null;
123+
this.config = config;
124+
this.fragmentActivity = fragmentActivity;
125+
}
115126
}

app/build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
apply plugin: 'com.android.application'
22

33
android {
4-
compileSdkVersion 28
4+
compileSdkVersion 27
55
defaultConfig {
66
applicationId "me.bzcoder.mediapicker"
77
minSdkVersion 22
8-
targetSdkVersion 28
8+
targetSdkVersion 27
99
versionCode 1
1010
versionName "1.0"
1111
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
@@ -16,11 +16,15 @@ android {
1616
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
1717
}
1818
}
19+
compileOptions {
20+
sourceCompatibility 1.8
21+
targetCompatibility 1.8
22+
}
1923
}
2024

2125
dependencies {
2226
api fileTree(dir: 'libs', include: ['*.jar'])
23-
api 'com.android.support:appcompat-v7:28.0.0'
27+
api 'com.android.support:appcompat-v7:27.1.1'
2428
api 'com.android.support.constraint:constraint-layout:1.1.3'
2529
api project(path: ':LibMediaPicker')
2630
api 'com.github.bumptech.glide:glide:4.9.0'

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
4-
package="me.bzcoder.mediapicker">
4+
package="me.bzcoder.mediapicker.sample">
55

66
<application
77
android:allowBackup="true"

app/src/main/java/com/bzcoder/mediapicker/MainActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
import java.util.Arrays;
1212
import java.util.List;
1313

14-
import me.bzcoder.mediapicker.R;
1514
import me.bzcoder.mediapicker.SmartMediaPicker;
1615
import me.bzcoder.mediapicker.config.MediaPickerEnum;
16+
import me.bzcoder.mediapicker.sample.R;
1717

1818
/**
1919
* @author : BaoZhou

app/src/main/java/com/bzcoder/mediapicker/SampleFragment.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
import java.util.Arrays;
1515
import java.util.List;
1616

17-
import me.bzcoder.mediapicker.R;
1817
import me.bzcoder.mediapicker.SmartMediaPicker;
1918
import me.bzcoder.mediapicker.config.MediaPickerEnum;
19+
import me.bzcoder.mediapicker.sample.R;
2020

2121

2222
/**

app/src/main/java/com/bzcoder/mediapicker/SampleFragmentActivity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
import android.support.v4.app.FragmentActivity;
77
import android.support.v4.app.FragmentManager;
88
import android.support.v4.app.FragmentTransaction;
9-
import android.support.v7.app.AppCompatActivity;
109

11-
import me.bzcoder.mediapicker.R;
10+
import me.bzcoder.mediapicker.sample.R;
11+
1212

1313
/**
1414
*

0 commit comments

Comments
 (0)