Open kushanshah11 opened 7 years ago
Hey @ParkSangGwon Have you looked into this issue?
please reply as soon as possible.
Thanks.
@kushanshah11 Do you still have problem?
yes @ParkSangGwon i still face same issue .
Most of camera issue in SAMSUNG Manufacture and mostly in Samsung Galaxy S4.
can you please check and resolve this issue asap?
Thank you.
@kushanshah11
Please use recent version (1.0.9
) and test.
And then tell me result same issue or not
Okay @ParkSangGwon Thanks for quick reply,
i will check and update status of same.
Thank you.
HI @ParkSangGwon ,
Issue still Continue Here I attach what your code Generate Error Log and What MyApp Generate Error Log.
Your Code ERROR Log :::
02-22 12:44:08.031 9333-9333/gun0912.tedbottompickerdemo E/AndroidRuntime: FATAL EXCEPTION: main Process: gun0912.tedbottompickerdemo, PID: 9333 java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134) at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102) at com.bumptech.glide.Glide.with(Glide.java:644) at gun0912.tedbottompickerdemo.MainActivity$1$1$1.onImageSelected(MainActivity.java:69) at gun0912.tedbottompicker.TedBottomPicker.complete(TedBottomPicker.java:279) at gun0912.tedbottompicker.TedBottomPicker.access$300(TedBottomPicker.java:55) at gun0912.tedbottompicker.TedBottomPicker$5$1.run(TedBottomPicker.java:510) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5951) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
MyAPP Error Code :::::
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.iotconnect, PID: 7935 java.lang.IllegalArgumentException: You cannot start a load on a fragment before it is attached at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:110) at com.bumptech.glide.Glide.with(Glide.java:678) at com.iotconnect.fragment.ProfileFragment.onSuccess(ProfileFragment.java:339) at com.iotconnect.retrofit.AppWs$4.onResponse(AppWs.java:125) at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5951) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
Thanks in Advance.
@kushanshah11 Do you use landscape orientation?
That is not library's error.
I updated repository ( using android:screenOrientation="portrait"
)
pull repository and test again
@ParkSangGwon ,
Here is crash report after pull :::
02-22 12:59:18.621 15106-15106/gun0912.tedbottompickerdemo E/AndroidRuntime: FATAL EXCEPTION: main Process: gun0912.tedbottompickerdemo, PID: 15106 java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity at com.bumptech.glide.manager.RequestManagerRetriever.assertNotDestroyed(RequestManagerRetriever.java:134) at com.bumptech.glide.manager.RequestManagerRetriever.get(RequestManagerRetriever.java:102) at com.bumptech.glide.Glide.with(Glide.java:644) at gun0912.tedbottompickerdemo.MainActivity$1$1$1.onImageSelected(MainActivity.java:69) at gun0912.tedbottompicker.TedBottomPicker.complete(TedBottomPicker.java:279) at gun0912.tedbottompicker.TedBottomPicker.access$300(TedBottomPicker.java:55) at gun0912.tedbottompicker.TedBottomPicker$5$1.run(TedBottomPicker.java:510) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5951) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
I m also using portrait Mode in my App but its camera behavior of samsung default anyways you can check above Error Log of your app after pull.
Thanks
@kushanshah11 Okay. I changed glide loading method. Pull repository and test again. Thanks.
@ParkSangGwon , No Luck , Crash Gone but image not loading in ImageView.
please check from your side if i m wrong.
Thanks.
Just FYI, I am facing the same issue.
@kushanshah11 @vinaywadhwa Please upload your sample project file. I will test. I can not find error in my project
@ParkSangGwon i will send sample file in couple of days.
Thanks.
HI @ParkSangGwon ,
package gun0912.tedbottompickerdemo;
import android.Manifest; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.util.TypedValue; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.FrameLayout; import android.widget.ImageView; import android.widget.Toast;
import com.bumptech.glide.Glide; import com.gun0912.tedpermission.PermissionListener; import com.gun0912.tedpermission.TedPermission;
import java.util.ArrayList;
import gun0912.tedbottompicker.TedBottomPicker;
public class MainActivity extends AppCompatActivity {
ImageView iv_image;
private ViewGroup mSelectedImagesContainer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_image = (ImageView) findViewById(R.id.iv_image);
mSelectedImagesContainer = (ViewGroup) findViewById(R.id.selected_photos_container);
setSingleShowButton();
setMultiShowButton();
}
private void setSingleShowButton() {
Button btn_single_show = (Button) findViewById(R.id.btn_single_show);
btn_single_show.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
TedBottomPicker bottomSheetDialogFragment = new TedBottomPicker.Builder(MainActivity.this)
.setOnImageSelectedListener(new TedBottomPicker.OnImageSelectedListener() {
@Override
public void onImageSelected(Uri uri) {
Log.d("ted","uri: "+uri);
Log.d("ted","uri.getPath(): "+uri.getPath());
iv_image.setVisibility(View.VISIBLE);
mSelectedImagesContainer.setVisibility(View.GONE);
Glide.with(MainActivity.this)
//.load(uri.toString())
.load(uri)
.into(iv_image);
}
})
//.setPeekHeight(getResources().getDisplayMetrics().heightPixels/2)
.setPeekHeight(1200)
.create();
bottomSheetDialogFragment.show(getSupportFragmentManager());
}
@Override
public void onPermissionDenied(ArrayList<String> deniedPermissions) {
Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
}
};
new TedPermission(MainActivity.this)
.setPermissionListener(permissionlistener)
.setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
.setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.check();
}
});
}
private void setMultiShowButton() {
Button btn_multi_show = (Button) findViewById(R.id.btn_multi_show);
btn_multi_show.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
TedBottomPicker bottomSheetDialogFragment = new TedBottomPicker.Builder(MainActivity.this)
.setOnMultiImageSelectedListener(new TedBottomPicker.OnMultiImageSelectedListener() {
@Override
public void onImagesSelected(ArrayList<Uri> uriList) {
showUriList(uriList);
}
})
//.setPeekHeight(getResources().getDisplayMetrics().heightPixels/2)
.setPeekHeight(1600)
.showTitle(false)
.setCompleteButtonText("Done")
.setEmptySelectionText("No Select")
.create();
bottomSheetDialogFragment.show(getSupportFragmentManager());
}
@Override
public void onPermissionDenied(ArrayList<String> deniedPermissions) {
Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
}
};
new TedPermission(MainActivity.this)
.setPermissionListener(permissionlistener)
.setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
.setPermissions(Manifest.permission.WRITE_EXTERNAL_STORAGE)
.check();
}
});
}
private void showUriList(ArrayList<Uri> uriList) {
// Remove all views before
// adding the new ones.
mSelectedImagesContainer.removeAllViews();
iv_image.setVisibility(View.GONE);
mSelectedImagesContainer.setVisibility(View.VISIBLE);
int wdpx = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());
int htpx = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics());
for (Uri uri : uriList) {
View imageHolder = LayoutInflater.from(this).inflate(R.layout.image_item, null);
ImageView thumbnail = (ImageView) imageHolder.findViewById(R.id.media_image);
Glide.with(this)
.load(uri.toString())
.fitCenter()
.into(thumbnail);
mSelectedImagesContainer.addView(imageHolder);
thumbnail.setLayoutParams(new FrameLayout.LayoutParams(wdpx, htpx));
}
}
}
compile 'gun0912.ted:tedbottompicker:1.0.12' compile 'gun0912.ted:tedpermission:1.0.0'
=====================================Error===========================
java.lang.RuntimeException: Unable to start activity ComponentInfo{gun0912.tedbottompickerdemo/gun0912.tedbottompickerdemo.MainActivity}: java.lang.NullPointerException: Attempt to read from field 'boolean gun0912.tedbottompicker.TedBottomPicker$Builder.showTitle' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2702) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4471) at android.app.ActivityThread.access$1000(ActivityThread.java:177) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1455) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5951) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183) Caused by: java.lang.NullPointerException: Attempt to read from field 'boolean gun0912.tedbottompicker.TedBottomPicker$Builder.showTitle' on a null object reference at gun0912.tedbottompicker.TedBottomPicker.setTitle(TedBottomPicker.java:483) at gun0912.tedbottompicker.TedBottomPicker.setupDialog(TedBottomPicker.java:168) at android.support.v4.app.DialogFragment.getLayoutInflater(DialogFragment.java:315) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1298) at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1523) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1585) at android.support.v4.app.FragmentManagerImpl.dispatchActivityCreated(FragmentManager.java:2832) at android.support.v4.app.FragmentController.dispatchActivityCreated(FragmentController.java:201) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:603) at android.support.v7.app.AppCompatActivity.onStart(AppCompatActivity.java:181) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1234) at android.app.Activity.performStart(Activity.java:6329) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2767) at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:4471) at android.app.ActivityThread.access$1000(ActivityThread.java:177) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1455) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:145) at android.app.ActivityThread.main(ActivityThread.java:5951) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1388) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1183)
this one is your Main Activity code just run this in Samsung s4. after capturing image press Save image and BOOMMMM!!! App gets crash.....
Thanks.
@kushanshah11 So curious...I had tested. But my sample app is fine. Hmm... only samsung s4 occur error? or do you have problem with other device?
hi @ParkSangGwon currently i have only issue with Samsung S4 but it may be possible in all samsung manufacture phone. currently checked in Nexus 4 , 5 ,motorola and working fine.
Thanks
hi @ParkSangGwon
I have checked this issue, in Samsung camera after capture image screen is rotating. While screen rotate your builder object(public Builder builder;) become null. So application getting crash because of getting null builder reference.
Can you please look at this issue as soon as possible.
Thanks.
The issue is about recreating the activity after picture is taken. In some devices, camera intent needs a great amount of memory, which means system can destroy your activity. When you take a picture and and turn back to your activity, activity will be recreated with null builder. I couldn't find any solution about that issue btw.
I had the same problem in Samsung S4 Android 5 and LG device Android 5. The problem was the Activity being recreating (because some camera's devices rotate screen). My solution, add this code line in Manifest in Activity where you call the library (or any activity where you call camera intent). android:configChanges="orientation|keyboardHidden|screenSize"
@ParkSangGwon have you looked into this issue? i have attach crash feedback of your play store Apk.
please review crash and resolve as soon as possible.
Thanks in advance.
@DiegoCastellano android:configChanges="orientation|keyboardHidden|screenSize" works very well Thank you
Hi @ParkSangGwon ,
Can you please Check Error :::
Here Is crash Report :::
Here is my Code ::
Here is the Gradle ::: compile 'gun0912.ted:tedbottompicker:1.0.6'
I m Only getting Crash While taking Image from Camera Device is SAMSUNG manufacture(other Device Works Perfectly).
can you please look into this issue and Resolve as soon as Possible.
Thanks.