Skip to content

Commit 5917049

Browse files
committed
Open beta on Google play
1 parent 66c212e commit 5917049

16 files changed

Lines changed: 1016 additions & 718 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,4 @@
66
/.flutter-plugins
77
/.flutter-plugins-dependencies
88
/.packages
9+

android/app/build.gradle

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@ apply plugin: 'com.android.application'
2525
apply plugin: 'kotlin-android'
2626
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
2727

28+
def keystoreProperties = new Properties()
29+
def keystorePropertiesFile = rootProject.file('key.properties')
30+
if (keystorePropertiesFile.exists()) {
31+
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
32+
}
33+
34+
2835
android {
2936
compileSdkVersion 30
3037

@@ -40,12 +47,17 @@ android {
4047
versionCode flutterVersionCode.toInteger()
4148
versionName flutterVersionName
4249
}
43-
50+
signingConfigs {
51+
release {
52+
keyAlias keystoreProperties['keyAlias']
53+
keyPassword keystoreProperties['keyPassword']
54+
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
55+
storePassword keystoreProperties['storePassword']
56+
}
57+
}
4458
buildTypes {
4559
release {
46-
// TODO: Add your own signing config for the release build.
47-
// Signing with the debug keys for now, so `flutter run --release` works.
48-
signingConfig signingConfigs.debug
60+
signingConfig signingConfigs.release
4961
}
5062
}
5163
}

lib/api/CategoryAPI.dart

Lines changed: 71 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
11
import 'dart:convert';
22

33
import 'package:dio/dio.dart';
4-
import 'package:piwigo_ng/model/CategoryModel.dart';
5-
64
import 'API.dart';
75

8-
Future<List<dynamic>> fetchAlbums(String albumID) async {
6+
Future<Map<String,dynamic>> fetchAlbums(String albumID) async {
97

108
Map<String, String> queries = {
119
"format": "json",
1210
"method": "pwg.categories.getList",
1311
"cat_id": albumID
1412
};
15-
Response response = await API.dio.get('ws.php', queryParameters: queries);
1613

17-
if (response.statusCode == 200) {
18-
return json.decode(response.data)["result"]["categories"];
19-
} else {
20-
throw Exception("bad request: "+response.statusCode.toString());
14+
try {
15+
Response response = await API.dio.get('ws.php', queryParameters: queries);
16+
17+
if (response.statusCode == 200) {
18+
return json.decode(response.data);
19+
} else {
20+
return {
21+
'stat': 'fail',
22+
'result': response.statusMessage
23+
};
24+
}
25+
} catch(e) {
26+
var error = e as DioError;
27+
return {
28+
'stat': 'fail',
29+
'result': error.message
30+
};
2131
}
2232
}
23-
Future<CategoryModel> getAlbumList() async {
33+
Future<Map<String,dynamic>> getAlbumList() async {
2434
Map<String, String> queries = {
2535
"format": "json",
2636
"method": "pwg.categories.getAdminList",
2737
};
2838

29-
Response response = await API.dio.get('ws.php', queryParameters: queries);
39+
try {
40+
Response response = await API.dio.get('ws.php', queryParameters: queries);
3041

31-
if (response.statusCode == 200) {
32-
CategoryModel root = CategoryModel("0", "root", fullname: "root");
33-
json.decode(response.data)['result']['categories'].forEach((cat) {
34-
List<int> rank = cat['global_rank'].split('.').map(int.parse).toList().cast<int>();
35-
CategoryModel newCat = CategoryModel(cat['id'], cat['name'], comment: cat['comment'], nbImages: cat['nb_images'].toString(), fullname: cat['fullname'], status: cat['status']);
36-
if(rank.length > 1) {
37-
CategoryModel nextInputCat = root.children.elementAt(rank.first-1);
38-
rank.removeAt(0);
39-
addCatRecursive(rank, newCat, nextInputCat);
40-
} else {
41-
root.children.add(newCat);
42-
}
43-
});
44-
return root;
45-
} else {
46-
throw Exception("bad request: "+response.statusCode.toString());
47-
}
48-
}
49-
void addCatRecursive(List<int> rank, CategoryModel cat, CategoryModel inputCat) {
50-
if(rank.length > 1) {
51-
CategoryModel nextInputCat = inputCat.children.elementAt(rank.first-1);
52-
rank.removeAt(0);
53-
addCatRecursive(rank, cat, nextInputCat);
54-
} else {
55-
inputCat.children.add(cat);
42+
if (response.statusCode == 200) {
43+
return json.decode(response.data);
44+
} else {
45+
return {
46+
'stat': 'fail',
47+
'result': response.statusMessage
48+
};
49+
}
50+
} catch(e) {
51+
var error = e as DioError;
52+
return {
53+
'stat': 'fail',
54+
'result': error.message
55+
};
5656
}
5757
}
5858

@@ -64,16 +64,23 @@ Future<dynamic> addCategory(String catName, String catDesc, String parent) async
6464
"comment": catDesc,
6565
"parent": parent
6666
};
67-
6867
try {
6968
Response response = await API.dio.post('ws.php', queryParameters: queries);
7069

7170
if (response.statusCode == 200) {
7271
return json.decode(response.data);
72+
} else {
73+
return {
74+
'stat': 'fail',
75+
'result': response.statusMessage
76+
};
7377
}
7478
} catch(e) {
75-
print('Dio add category error $e');
76-
return e;
79+
var error = e as DioError;
80+
return {
81+
'stat': 'fail',
82+
'result': error.message
83+
};
7784
}
7885
}
7986
Future<dynamic> deleteCategory(String catId) async {
@@ -86,18 +93,25 @@ Future<dynamic> deleteCategory(String catId) async {
8693
"pwg_token": API.prefs.getString("pwg_token"),
8794
});
8895
try {
89-
Response response = await API.dio.post(
90-
'ws.php',
96+
Response response = await API.dio.post('ws.php',
9197
data: formData,
9298
queryParameters: queries
9399
);
94100

95101
if (response.statusCode == 200) {
96102
return json.decode(response.data);
103+
} else {
104+
return {
105+
'stat': 'fail',
106+
'result': response.statusMessage
107+
};
97108
}
98-
} catch (e) {
99-
print('Dio delete category error $e');
100-
return e;
109+
} catch(e) {
110+
var error = e as DioError;
111+
return {
112+
'stat': 'fail',
113+
'result': error.message
114+
};
101115
}
102116
}
103117
Future<dynamic> moveCategory(int catId, String parentCatId) async {
@@ -110,22 +124,30 @@ Future<dynamic> moveCategory(int catId, String parentCatId) async {
110124
"parent": parentCatId,
111125
"pwg_token": API.prefs.getString("pwg_token"),
112126
});
127+
113128
try {
114-
Response response = await API.dio.post(
115-
'ws.php',
129+
Response response = await API.dio.post('ws.php',
116130
data: formData,
117131
queryParameters: queries
118132
);
119133

120134
if (response.statusCode == 200) {
121135
return json.decode(response.data);
136+
} else {
137+
return {
138+
'stat': 'fail',
139+
'result': response.statusMessage
140+
};
122141
}
123-
} catch (e) {
124-
print('Dio move category error $e');
125-
return e;
142+
} catch(e) {
143+
var error = e as DioError;
144+
return {
145+
'stat': 'fail',
146+
'result': error.message
147+
};
126148
}
127149
}
128-
Future<dynamic> editCategory(int catId, String catName, String catDesc, bool private) async {
150+
Future<dynamic> editCategory(int catId, String catName, String catDesc) async {
129151
Map<String, String> queries = {
130152
"format": "json",
131153
"method": "pwg.categories.setInfo",
@@ -134,7 +156,6 @@ Future<dynamic> editCategory(int catId, String catName, String catDesc, bool pri
134156
"category_id": catId,
135157
"name": catName,
136158
"comment": catDesc,
137-
"status": private ? "private" : "public",
138159
});
139160
try {
140161
Response response = await API.dio.post(

0 commit comments

Comments
 (0)