Skip to content

Commit afb98dd

Browse files
committed
The bug that cause crash when editing new taken photo , fixed.
1 parent ea2ff03 commit afb98dd

File tree

1 file changed

+58
-31
lines changed

1 file changed

+58
-31
lines changed

SmartFileBrowser/src/main/java/ir/smartdevelopers/smartfilebrowser/acitivties/FileBrowserMainActivity.java

Lines changed: 58 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,5 @@
11
package ir.smartdevelopers.smartfilebrowser.acitivties;
22

3-
import androidx.activity.OnBackPressedCallback;
4-
import androidx.annotation.NonNull;
5-
import androidx.annotation.Nullable;
6-
import androidx.appcompat.app.AppCompatActivity;
7-
import androidx.appcompat.content.res.AppCompatResources;
8-
import androidx.appcompat.widget.AppCompatTextView;
9-
import androidx.constraintlayout.widget.Group;
10-
import androidx.core.app.ActivityCompat;
11-
import androidx.core.app.ActivityOptionsCompat;
12-
import androidx.core.app.SharedElementCallback;
13-
import androidx.core.content.ContextCompat;
14-
import androidx.core.content.FileProvider;
15-
import androidx.core.graphics.Insets;
16-
import androidx.core.graphics.drawable.DrawableKt;
17-
import androidx.core.view.ViewCompat;
18-
import androidx.core.view.WindowCompat;
19-
import androidx.core.view.WindowInsetsCompat;
20-
import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
21-
import androidx.lifecycle.LiveData;
22-
import androidx.lifecycle.Observer;
23-
import androidx.lifecycle.ViewModelProvider;
24-
import androidx.recyclerview.widget.LinearLayoutManager;
25-
import androidx.recyclerview.widget.RecyclerView;
26-
273
import android.Manifest;
284
import android.animation.Animator;
295
import android.animation.AnimatorListenerAdapter;
@@ -69,10 +45,33 @@
6945
import android.widget.TextView;
7046
import android.widget.Toast;
7147

48+
import androidx.activity.OnBackPressedCallback;
49+
import androidx.annotation.NonNull;
50+
import androidx.annotation.Nullable;
51+
import androidx.appcompat.app.AppCompatActivity;
52+
import androidx.appcompat.content.res.AppCompatResources;
53+
import androidx.appcompat.widget.AppCompatTextView;
54+
import androidx.constraintlayout.widget.Group;
55+
import androidx.core.app.ActivityCompat;
56+
import androidx.core.app.ActivityOptionsCompat;
57+
import androidx.core.app.SharedElementCallback;
58+
import androidx.core.content.ContextCompat;
59+
import androidx.core.content.FileProvider;
60+
import androidx.core.graphics.Insets;
61+
import androidx.core.graphics.drawable.DrawableKt;
62+
import androidx.core.view.ViewCompat;
63+
import androidx.core.view.WindowCompat;
64+
import androidx.core.view.WindowInsetsCompat;
65+
import androidx.exifinterface.media.ExifInterface;
66+
import androidx.interpolator.view.animation.FastOutSlowInInterpolator;
67+
import androidx.lifecycle.LiveData;
68+
import androidx.lifecycle.Observer;
69+
import androidx.lifecycle.ViewModelProvider;
70+
import androidx.recyclerview.widget.LinearLayoutManager;
71+
import androidx.recyclerview.widget.RecyclerView;
7272

7373
import com.aurelhubert.ahbottomnavigation.AHBottomNavigation;
7474
import com.aurelhubert.ahbottomnavigation.AHBottomNavigationItem;
75-
7675
import com.google.android.material.appbar.AppBarLayout;
7776
import com.google.android.material.bottomsheet.BottomSheetBehavior;
7877

@@ -89,23 +88,23 @@
8988
import ir.smartdevelopers.smartfilebrowser.adapters.AlbumAdapter;
9089
import ir.smartdevelopers.smartfilebrowser.adapters.FileBrowserAdapter;
9190
import ir.smartdevelopers.smartfilebrowser.adapters.GalleryAdapter;
91+
import ir.smartdevelopers.smartfilebrowser.customClasses.FileUtil;
9292
import ir.smartdevelopers.smartfilebrowser.customClasses.GalleryLayoutManager;
9393
import ir.smartdevelopers.smartfilebrowser.customClasses.GalleyItemDecoration;
9494
import ir.smartdevelopers.smartfilebrowser.customClasses.MyBehavior;
95-
import ir.smartdevelopers.smartfilebrowser.customClasses.OnItemLongClickListener;
96-
import ir.smartdevelopers.smartfilebrowser.customClasses.OnSearchListener;
97-
import ir.smartdevelopers.smartfilebrowser.customClasses.ResultListener;
98-
import ir.smartdevelopers.smartfilebrowser.customClasses.Utils;
99-
import ir.smartdevelopers.smartfilebrowser.models.FileModel;
100-
import ir.smartdevelopers.smartfilebrowser.customClasses.FileUtil;
10195
import ir.smartdevelopers.smartfilebrowser.customClasses.OnItemChooseListener;
10296
import ir.smartdevelopers.smartfilebrowser.customClasses.OnItemClickListener;
97+
import ir.smartdevelopers.smartfilebrowser.customClasses.OnItemLongClickListener;
10398
import ir.smartdevelopers.smartfilebrowser.customClasses.OnItemSelectListener;
99+
import ir.smartdevelopers.smartfilebrowser.customClasses.OnSearchListener;
100+
import ir.smartdevelopers.smartfilebrowser.customClasses.ResultListener;
104101
import ir.smartdevelopers.smartfilebrowser.customClasses.RoundLinearLayout;
105102
import ir.smartdevelopers.smartfilebrowser.customClasses.SFBFileFilter;
106103
import ir.smartdevelopers.smartfilebrowser.customClasses.SearchView;
104+
import ir.smartdevelopers.smartfilebrowser.customClasses.Utils;
107105
import ir.smartdevelopers.smartfilebrowser.models.AlbumModel;
108106
import ir.smartdevelopers.smartfilebrowser.models.FileBrowserModel;
107+
import ir.smartdevelopers.smartfilebrowser.models.FileModel;
109108
import ir.smartdevelopers.smartfilebrowser.models.GalleryModel;
110109
import ir.smartdevelopers.smartfilebrowser.viewModel.FilesViewModel;
111110
import ir.smartdevelopers.smartfilebrowser.viewModel.GalleryViewModel;
@@ -1914,15 +1913,43 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten
19141913
if (requestCode == REQ_CODE_TACK_PICTURE) {
19151914
if (resultCode == Activity.RESULT_OK) {
19161915
File takenPic = new File(tackingPictureFilePath);
1916+
19171917
if (takenPic.isFile()) {
1918+
int width = 0;
1919+
int height = 0;
1920+
int orientation = 0;
1921+
19181922
FileUtil.scanMediaFile(this, takenPic);
1923+
try {
1924+
ExifInterface exifInterface = new ExifInterface(takenPic);
1925+
width = exifInterface.getAttributeInt(ExifInterface.TAG_IMAGE_WIDTH, 0);
1926+
height = exifInterface.getAttributeInt(ExifInterface.TAG_IMAGE_LENGTH, 0);
1927+
int orint = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, 0);
1928+
switch (orint) {
1929+
case ExifInterface.ORIENTATION_ROTATE_90:
1930+
orientation = 90;
1931+
break;
1932+
case ExifInterface.ORIENTATION_ROTATE_180:
1933+
orientation = 180;
1934+
break;
1935+
case ExifInterface.ORIENTATION_ROTATE_270:
1936+
orientation = 270;
1937+
break;
1938+
}
1939+
} catch (Exception ignore) {
1940+
1941+
}
1942+
19191943
GalleryModel newPicModel = new GalleryModel();
19201944
newPicModel.setType(FileUtil.TYPE_IMAGE);
19211945
newPicModel.setSelected(true);
19221946
newPicModel.setName(takenPic.getName());
19231947
newPicModel.setPath(takenPic.getPath());
19241948
newPicModel.setUri(FileProvider.getUriForFile(getApplicationContext(),
19251949
getPackageName() + ".sfb_provider", takenPic));
1950+
newPicModel.setWidth(width);
1951+
newPicModel.setHeight(height);
1952+
newPicModel.setOrientation(orientation);
19261953
mGalleryAdapter.addNewPic(newPicModel);
19271954

19281955
}

0 commit comments

Comments
 (0)