방설정정보 아이폰에서만 안나오는거 수정1차

This commit is contained in:
eld_master 2025-02-14 14:59:17 +09:00
parent 36179dd975
commit fc8466d5c3
4 changed files with 66 additions and 44 deletions

View File

@ -20,8 +20,8 @@ android {
applicationId "com.allscore_app" applicationId "com.allscore_app"
minSdkVersion 23 minSdkVersion 23
targetSdkVersion 34 targetSdkVersion 34
versionCode 17 versionCode 18
versionName "1.0.17" versionName "1.0.18"
} }
signingConfigs { signingConfigs {
release { release {

View File

@ -6,9 +6,9 @@ class Config {
// ID - ios // ID - ios
// static const String realAdUnitId = 'ca-app-pub-6461991944599918/9704216771'; // static const String realAdUnitId = 'ca-app-pub-6461991944599918/9704216771';
// ID // ID
// static const String adUnitId = 'ca-app-pub-3940256099942544/6300978111'; // static const String adUnitId = 'ca-app-pub-3940256099942544/6300978111'; //
// static const String adUnitId = 'ca-app-pub-6461991944599918/5107596297'; // android // static const String adUnitId = 'ca-app-pub-6461991944599918/5107596297'; // android
static const String adUnitId = 'ca-app-pub-6461991944599918/9704216771'; // ios // static const String adUnitId = 'ca-app-pub-6461991944599918/9704216771'; // ios
// //
static const String baseUrl = 'https://d2zcnlqji5t7mh.cloudfront.net'; static const String baseUrl = 'https://d2zcnlqji5t7mh.cloudfront.net';
// //

View File

@ -40,7 +40,7 @@ class _RoomSettingModalState extends State<RoomSettingModal> {
// Firebase Realtime Database reference (FRD ) // Firebase Realtime Database reference (FRD )
late DatabaseReference _roomRef; late DatabaseReference _roomRef;
bool _isLoading = true; bool _isLoading = false;
// Distinguish if room is "private" or "team" ( ) // Distinguish if room is "private" or "team" ( )
late bool isPrivateType; late bool isPrivateType;
@ -48,61 +48,83 @@ class _RoomSettingModalState extends State<RoomSettingModal> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
// roomInfo에서
final data = widget.roomInfo;
// room_seq
roomSeq = int.tryParse('${data['room_seq'] ?? '0'}') ?? 0;
// (1) room_seq // (1) room_seq
roomSeq = int.tryParse('${widget.roomInfo['room_seq'] ?? '0'}') ?? 0; roomSeq = int.tryParse('${widget.roomInfo['room_seq'] ?? '0'}') ?? 0;
// (2) room type // room type
final roomTypeStr = (widget.roomInfo['room_type'] ?? 'private').toString().toLowerCase(); final roomTypeStr = (data['room_type'] ?? 'private').toString().toLowerCase();
// if "private" => isPrivateType=true, else => isPrivateType=false
isPrivateType = (roomTypeStr == 'private'); isPrivateType = (roomTypeStr == 'private');
// master
isMaster = data['room_master_yn'] == 'Y';
//
roomTitle = data['room_title']?.toString() ?? '';
roomIntro = data['room_intro']?.toString() ?? '';
openYn = data['open_yn']?.toString() ?? 'Y';
roomPw = data['room_pw']?.toString() ?? '';
runningTime = _toInt(data['running_time'], 1);
numberOfPeople = _toInt(data['number_of_people'], 10);
scoreOpenRange = data['score_open_range']?.toString() ?? 'PRIVATE';
// (3) firebase ref // // (2) room type
final roomKey = 'korea-$roomSeq'; // final roomTypeStr = (widget.roomInfo['room_type'] ?? 'private').toString().toLowerCase();
_roomRef = FirebaseDatabase.instance.ref('rooms/$roomKey/roomInfo'); // // if "private" => isPrivateType=true, else => isPrivateType=false
// isPrivateType = (roomTypeStr == 'private');
// // (3) firebase ref
// final roomKey = 'korea-$roomSeq';
// _roomRef = FirebaseDatabase.instance.ref('rooms/$roomKey/roomInfo');
// (4) compare my_user_seq with master_user_seq + read roomInfo from FRD // (4) compare my_user_seq with master_user_seq + read roomInfo from FRD
_checkMasterAndFetchData(); // _checkMasterAndFetchData();
} }
/// Load my_user_seq from local storage, /// Load my_user_seq from local storage,
/// then read roomInfo from FRD and update state /// then read roomInfo from FRD and update state
/// ( my_user_seq FRD에서 roomInfo state ) /// ( my_user_seq FRD에서 roomInfo state )
Future<void> _checkMasterAndFetchData() async { // Future<void> _checkMasterAndFetchData() async {
final prefs = await SharedPreferences.getInstance(); // final prefs = await SharedPreferences.getInstance();
final myUserSeq = prefs.getInt('my_user_seq') ?? 0; // final myUserSeq = prefs.getInt('my_user_seq') ?? 0;
final snapshot = await _roomRef.get(); // final snapshot = await _roomRef.get();
if (!snapshot.exists) { // if (!snapshot.exists) {
// No room info ( ) // // No room info ( )
setState(() { // setState(() {
_isLoading = false; // _isLoading = false;
isMaster = false; // isMaster = false;
roomTitle = 'No room info'; // roomTitle = 'No room info';
// '방 정보 없음' // // '방 정보 없음'
}); // });
return; // return;
} // }
final data = snapshot.value as Map<dynamic, dynamic>? ?? {}; // final data = snapshot.value as Map<dynamic, dynamic>? ?? {};
// e.g. master_user_seq, open_yn, etc // // e.g. master_user_seq, open_yn, etc
final masterSeq = data['master_user_seq'] ?? 0; // final masterSeq = data['master_user_seq'] ?? 0;
setState(() { // setState(() {
isMaster = (masterSeq.toString() == myUserSeq.toString()); // isMaster = (masterSeq.toString() == myUserSeq.toString());
// fill fields ( ) // // fill fields ( )
roomTitle = data['room_title']?.toString() ?? ''; // roomTitle = data['room_title']?.toString() ?? '';
roomIntro = data['room_intro']?.toString() ?? ''; // roomIntro = data['room_intro']?.toString() ?? '';
openYn = data['open_yn']?.toString() ?? 'Y'; // openYn = data['open_yn']?.toString() ?? 'Y';
roomPw = data['room_pw']?.toString() ?? ''; // roomPw = data['room_pw']?.toString() ?? '';
runningTime = _toInt(data['running_time'], 1); // runningTime = _toInt(data['running_time'], 1);
numberOfPeople = _toInt(data['number_of_people'], 10); // numberOfPeople = _toInt(data['number_of_people'], 10);
scoreOpenRange = data['score_open_range']?.toString() ?? 'PRIVATE'; // scoreOpenRange = data['score_open_range']?.toString() ?? 'PRIVATE';
_isLoading = false; // _isLoading = false;
}); // });
} // }
/// simple int conversion ( int ) /// simple int conversion ( int )
int _toInt(dynamic val, int defaultVal) { int _toInt(dynamic val, int defaultVal) {

View File

@ -1,7 +1,7 @@
name: allscore_app name: allscore_app
description: "A new Flutter project." description: "A new Flutter project."
publish_to: 'none' publish_to: 'none'
version: 1.0.17+17 version: 1.0.18+18
environment: environment:
sdk: '>=3.5.3 <4.0.0' sdk: '>=3.5.3 <4.0.0'
flutter: ">=3.16.0" flutter: ">=3.16.0"