Skip to content

Commit f7f7400

Browse files
committedNov 2, 2024
fix positions on album creation
1 parent 1a1551f commit f7f7400

File tree

6 files changed

+47
-36
lines changed

6 files changed

+47
-36
lines changed
 

‎app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ buildscript {
88
mavenCentral()
99
}
1010
dependencies {
11-
classpath 'com.android.tools.build:gradle:8.4.1'
11+
classpath 'com.android.tools.build:gradle:8.5.0'
1212
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.7.7"
1313
}
1414
}
@@ -76,6 +76,6 @@ dependencies {
7676

7777
buildscript {
7878
dependencies {
79-
classpath 'com.android.tools.build:gradle:8.4.1'
79+
classpath 'com.android.tools.build:gradle:8.5.0'
8080
}
8181
}

‎app/src/main/java/fr/nuage/souvenirs/model/Album.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121
import java.io.IOException;
2222
import java.io.InputStream;
2323
import java.io.OutputStream;
24+
import java.nio.charset.StandardCharsets;
2425
import java.text.SimpleDateFormat;
2526
import java.util.ArrayList;
2627
import java.util.Date;
27-
import java.util.Iterator;
2828
import java.util.Locale;
2929
import java.util.UUID;
3030

@@ -33,23 +33,23 @@ public class Album {
3333
public static final String DATA_DIR = "data";
3434
public static final String CONFFILE = "album.json";
3535

36-
private String albumPath;
37-
private MutableLiveData<String> ldName = new MutableLiveData<>();
36+
private final String albumPath;
37+
private final MutableLiveData<String> ldName = new MutableLiveData<>();
3838
private String name;
39-
private MutableLiveData<ArrayList<Page>> ldPages = new MutableLiveData<>();
39+
private final MutableLiveData<ArrayList<Page>> ldPages = new MutableLiveData<>();
4040
private ArrayList<Page> pages = new ArrayList<Page>();
4141
private Date pagesLastEditDate;
42-
private MutableLiveData<Date> ldPagesLastEditDate = new MutableLiveData<>();
42+
private final MutableLiveData<Date> ldPagesLastEditDate = new MutableLiveData<>();
4343
private Date pagesLastSyncDate;
4444
private Date date;
45-
private MutableLiveData<Date> ldDate = new MutableLiveData<>();
45+
private final MutableLiveData<Date> ldDate = new MutableLiveData<>();
4646
private Date lastEditDate;
47-
private MutableLiveData<Date> ldLastEditDate = new MutableLiveData<>();
47+
private final MutableLiveData<Date> ldLastEditDate = new MutableLiveData<>();
4848
private UUID id;
4949
private String albumImage;
50-
private MutableLiveData<String> ldAlbumImage = new MutableLiveData<>();
50+
private final MutableLiveData<String> ldAlbumImage = new MutableLiveData<>();
5151
private int elementMargin = 1;
52-
private MutableLiveData<Integer> ldElementMargin = new MutableLiveData<>();
52+
private final MutableLiveData<Integer> ldElementMargin = new MutableLiveData<>();
5353
private boolean unsavedModifications = false;
5454

5555

@@ -136,7 +136,7 @@ public boolean load() {
136136
byte[] buffer = new byte[size];
137137
is.read(buffer);
138138
is.close();
139-
json = new JSONObject(new String(buffer, "UTF-8"));
139+
json = new JSONObject(new String(buffer, StandardCharsets.UTF_8));
140140
} catch (FileNotFoundException e) {
141141
Log.w(this.getClass().getSimpleName(),"File "+this.albumPath+"/"+CONFFILE+" not found.");
142142
return false;

‎app/src/main/java/fr/nuage/souvenirs/model/Albums.java

+4
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,10 @@ public Album createAlbum(UUID albumId) {
142142
newAlbum.setID(albumId);
143143
//set empty pages
144144
newAlbum.setPages(new ArrayList<>());
145+
//set date
146+
newAlbum.setDate(new Date());
147+
//update livedata
148+
newAlbum.updateAllLiveDataObject();
145149
//update list
146150
albumList.add(newAlbum);
147151
setAlbumList(albumList);

‎app/src/main/java/fr/nuage/souvenirs/view/EditPageFragment.java

+29-22
Original file line numberDiff line numberDiff line change
@@ -402,29 +402,36 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) {
402402
switch (requestCode) {
403403
case ACTIVITY_ADD_FILE:
404404
if (resultCode == Activity.RESULT_OK) {
405-
ArrayList<Uri> uris = new ArrayList<>();
406-
ClipData clipdata = data.getClipData();
407-
if (clipdata == null) {
408-
uris.add(data.getData());
409-
} else {
410-
//handle multiple uri
411-
for (int i = 0; i < clipdata.getItemCount(); i++) {
412-
uris.add(clipdata.getItemAt(i).getUri());
413-
}
414-
}
415-
for (Uri uri: uris) {
416-
InputStream input = TilePageBuilder.getInputStreamFromUri(requireActivity().getContentResolver(), uri);
417-
String mime = requireActivity().getContentResolver().getType(uri);
418-
//extract name and size
419-
Div.NameSize nameSize = getNameAndSizeFromUri(uri,getActivity().getContentResolver());
420-
if (mime.startsWith("image")) {
421-
albumVM.getFocusPage().addImage(input,mime,nameSize.name,nameSize.size);
422-
} else if (mime.startsWith("video")) {
423-
albumVM.getFocusPage().addVideo(input,mime,nameSize.name,nameSize.size);
424-
} else if (mime.startsWith("audio")) {
425-
albumVM.getFocusPage().addAudio(input,mime);
405+
//TODO : make UI wheels
406+
Thread thread = new Thread() {
407+
@Override
408+
public void run() {
409+
ArrayList<Uri> uris = new ArrayList<>();
410+
ClipData clipdata = data.getClipData();
411+
if (clipdata == null) {
412+
uris.add(data.getData());
413+
} else {
414+
//handle multiple uri
415+
for (int i = 0; i < clipdata.getItemCount(); i++) {
416+
uris.add(clipdata.getItemAt(i).getUri());
417+
}
418+
}
419+
for (Uri uri: uris) {
420+
InputStream input = TilePageBuilder.getInputStreamFromUri(requireActivity().getContentResolver(), uri);
421+
String mime = requireActivity().getContentResolver().getType(uri);
422+
//extract name and size
423+
Div.NameSize nameSize = getNameAndSizeFromUri(uri,getActivity().getContentResolver());
424+
if (mime.startsWith("image")) {
425+
albumVM.getFocusPage().addImage(input,mime,nameSize.name,nameSize.size);
426+
} else if (mime.startsWith("video")) {
427+
albumVM.getFocusPage().addVideo(input,mime,nameSize.name,nameSize.size);
428+
} else if (mime.startsWith("audio")) {
429+
albumVM.getFocusPage().addAudio(input,mime);
430+
}
431+
}
426432
}
427-
}
433+
};
434+
thread.start();
428435
}
429436
break;
430437
case ACTIVITY_ADD_PHOTO:

‎build.gradle

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
mavenCentral()
88
}
99
dependencies {
10-
classpath 'com.android.tools.build:gradle:8.4.1'
10+
classpath 'com.android.tools.build:gradle:8.5.0'
1111
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.7.7"
1212

1313
// NOTE: Do not place your application dependencies here; they belong

‎gradle/wrapper/gradle-wrapper.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip

0 commit comments

Comments
 (0)
Failed to load comments.