Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
NewParkAPP
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YONG-LIN SU
NewParkAPP
Commits
74f29d79
Commit
74f29d79
authored
Jul 28, 2022
by
Bruce
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
參數設定頁面 & 使用者清單選擇 ok
parent
ab6b58be
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
308 additions
and
9 deletions
+308
-9
misc.xml
.idea/misc.xml
+17
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+3
-0
SelectUserAdapter.java
...va/ecom/android/newparkapp/adapter/SelectUserAdapter.java
+70
-0
T01SettingActivity.java
...java/ecom/android/newparkapp/view/T01SettingActivity.java
+51
-8
T02SelectUserActivity.java
...a/ecom/android/newparkapp/view/T02SelectUserActivity.java
+55
-0
T01SettingViewModel.java
...com/android/newparkapp/viewModel/T01SettingViewModel.java
+42
-0
UserViewModel.java
...java/ecom/android/newparkapp/viewModel/UserViewModel.java
+3
-0
activity_t01_setting_layout.xml
app/src/main/res/layout/activity_t01_setting_layout.xml
+7
-0
activity_t02_select_user.xml
app/src/main/res/layout/activity_t02_select_user.xml
+51
-0
recycler_view_user_item.xml
app/src/main/res/layout/recycler_view_user_item.xml
+9
-0
No files found.
.idea/misc.xml
View file @
74f29d79
...
@@ -3,6 +3,22 @@
...
@@ -3,6 +3,22 @@
<component
name=
"DesignSurface"
>
<component
name=
"DesignSurface"
>
<option
name=
"filePathToZoomLevelMap"
>
<option
name=
"filePathToZoomLevelMap"
>
<map>
<map>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_main.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_t01_bulletin_board.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_t01_import_db.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_t01_setting_layout.xml"
value=
"0.3614457831325301"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_t02_select_space.xml"
value=
"0.22"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_t02_select_user.xml"
value=
"0.29257246376811596"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/activity_t02_select_vehicle_type.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/content_activity_t02_select_user.xml"
value=
"0.29257246376811596"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/fragment_first.xml"
value=
"0.29257246376811596"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/fragment_second.xml"
value=
"0.29257246376811596"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/fragment_t02_select_user.xml"
value=
"0.33"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/recycler_view_bulletin_board_item.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/recycler_view_db_table_item.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/recycler_view_space_item.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/recycler_view_user_item.xml"
value=
"0.18645833333333334"
/>
<entry
key=
"..\:/AndroidStudioProject/newparkapp/app/src/main/res/layout/recycler_view_vehicle_type_item.xml"
value=
"0.14947916666666666"
/>
<entry
key=
"..\:/Users/pp931/Desktop/RD/Projects/NewParkApp/app/src/main/res/layout/activity_main.xml"
value=
"0.34375"
/>
<entry
key=
"..\:/Users/pp931/Desktop/RD/Projects/NewParkApp/app/src/main/res/layout/activity_main.xml"
value=
"0.34375"
/>
<entry
key=
"..\:/Users/pp931/Desktop/RD/Projects/NewParkApp/app/src/main/res/layout/activity_t01_bulletin_board.xml"
value=
"0.34375"
/>
<entry
key=
"..\:/Users/pp931/Desktop/RD/Projects/NewParkApp/app/src/main/res/layout/activity_t01_bulletin_board.xml"
value=
"0.34375"
/>
<entry
key=
"..\:/Users/pp931/Desktop/RD/Projects/NewParkApp/app/src/main/res/layout/activity_t01_import_db.xml"
value=
"0.34375"
/>
<entry
key=
"..\:/Users/pp931/Desktop/RD/Projects/NewParkApp/app/src/main/res/layout/activity_t01_import_db.xml"
value=
"0.34375"
/>
...
@@ -23,7 +39,7 @@
...
@@ -23,7 +39,7 @@
</map>
</map>
</option>
</option>
</component>
</component>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_11"
project-jdk-name=
"1.8
"
project-jdk-type=
"JavaSDK"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_11"
default=
"true"
project-jdk-name=
"11
"
project-jdk-type=
"JavaSDK"
>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
</component>
</component>
<component
name=
"ProjectType"
>
<component
name=
"ProjectType"
>
...
...
app/src/main/AndroidManifest.xml
View file @
74f29d79
...
@@ -63,6 +63,9 @@
...
@@ -63,6 +63,9 @@
<activity
<activity
android:name=
".view.T02SelectSpaceActivity"
android:name=
".view.T02SelectSpaceActivity"
android:exported=
"false"
/>
android:exported=
"false"
/>
<activity
android:name=
".view.T02SelectUserActivity"
android:exported=
"false"
/>
<provider
<provider
...
...
app/src/main/java/ecom/android/newparkapp/adapter/SelectUserAdapter.java
0 → 100644
View file @
74f29d79
package
ecom
.
android
.
newparkapp
.
adapter
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.DiffUtil
;
import
androidx.recyclerview.widget.ListAdapter
;
import
androidx.recyclerview.widget.RecyclerView
;
import
ecom.android.newparkapp.databinding.RecyclerViewUserItemBinding
;
import
ecom.android.newparkapp.databinding.RecyclerViewVehicleTypeItemBinding
;
import
ecom.android.newparkapp.entity.User
;
import
ecom.android.newparkapp.entity.VehicleType
;
public
class
SelectUserAdapter
extends
ListAdapter
<
User
,
SelectUserAdapter
.
SelectUserViewHolder
>
{
final
private
OnItemClickListener
onItemClickListener
;
public
SelectUserAdapter
(
OnItemClickListener
onItemClickListener
)
{
super
(
userItemCallback
);
this
.
onItemClickListener
=
onItemClickListener
;
}
@NonNull
@Override
public
SelectUserViewHolder
onCreateViewHolder
(
@NonNull
ViewGroup
parent
,
int
viewType
)
{
RecyclerViewUserItemBinding
recyclerViewUserItemBinding
=
RecyclerViewUserItemBinding
.
inflate
(
LayoutInflater
.
from
(
parent
.
getContext
()),
parent
,
false
);
return
new
SelectUserAdapter
.
SelectUserViewHolder
(
recyclerViewUserItemBinding
);
}
@Override
public
void
onBindViewHolder
(
@NonNull
SelectUserViewHolder
holder
,
int
position
)
{
holder
.
setBinding
(
getItem
(
position
),
this
.
onItemClickListener
);
}
public
static
final
DiffUtil
.
ItemCallback
<
User
>
userItemCallback
=
new
DiffUtil
.
ItemCallback
<
User
>()
{
@Override
public
boolean
areItemsTheSame
(
@NonNull
User
oldItem
,
@NonNull
User
newItem
)
{
return
oldItem
.
id
==
newItem
.
id
;
}
@Override
public
boolean
areContentsTheSame
(
@NonNull
User
oldItem
,
@NonNull
User
newItem
)
{
return
oldItem
.
name
.
equals
(
newItem
.
name
);
}
};
static
class
SelectUserViewHolder
extends
RecyclerView
.
ViewHolder
{
private
final
RecyclerViewUserItemBinding
dataBinding
;
SelectUserViewHolder
(
RecyclerViewUserItemBinding
dataBinding
)
{
super
(
dataBinding
.
getRoot
());
this
.
dataBinding
=
dataBinding
;
}
void
setBinding
(
User
user
,
OnItemClickListener
onItemClickListener
){
String
btnText
=
user
.
id
+
" "
+
user
.
name
;
dataBinding
.
btnSelectUser
.
setText
(
btnText
);
dataBinding
.
btnSelectUser
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
onItemClickListener
.
onUserClick
(
user
);
}
});
}
}
public
interface
OnItemClickListener
{
void
onUserClick
(
User
user
);
}
}
app/src/main/java/ecom/android/newparkapp/view/T01SettingActivity.java
View file @
74f29d79
...
@@ -8,15 +8,24 @@ import android.text.TextWatcher;
...
@@ -8,15 +8,24 @@ import android.text.TextWatcher;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
androidx.activity.result.ActivityResultLauncher
;
import
androidx.activity.result.contract.ActivityResultContracts
;
import
androidx.appcompat.app.ActionBar
;
import
androidx.appcompat.app.ActionBar
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.lifecycle.LiveData
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.preference.PreferenceFragmentCompat
;
import
androidx.preference.PreferenceFragmentCompat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
ecom.android.newparkapp.R
;
import
ecom.android.newparkapp.R
;
import
ecom.android.newparkapp.databinding.ActivityT01SettingLayoutBinding
;
import
ecom.android.newparkapp.databinding.ActivityT01SettingLayoutBinding
;
import
ecom.android.newparkapp.entity.User
;
import
ecom.android.newparkapp.entity.VehicleType
;
import
ecom.android.newparkapp.viewModel.T01SettingViewModel
;
import
ecom.android.newparkapp.viewModel.T01SettingViewModel
;
import
ecom.android.newparkapp.viewModel.UserViewModel
;
public
class
T01SettingActivity
extends
AppCompatActivity
{
public
class
T01SettingActivity
extends
AppCompatActivity
{
...
@@ -24,6 +33,9 @@ public class T01SettingActivity extends AppCompatActivity {
...
@@ -24,6 +33,9 @@ public class T01SettingActivity extends AppCompatActivity {
private
ActivityT01SettingLayoutBinding
dataBinding
;
private
ActivityT01SettingLayoutBinding
dataBinding
;
private
ViewModelProvider
viewModelProvider
;
private
ViewModelProvider
viewModelProvider
;
private
T01SettingViewModel
t01SettingViewModel
;
private
T01SettingViewModel
t01SettingViewModel
;
private
ActivityResultLauncher
UserResultLauncher
;
private
List
<
User
>
Users
;
private
UserViewModel
userViewModel
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
...
@@ -33,6 +45,7 @@ public class T01SettingActivity extends AppCompatActivity {
...
@@ -33,6 +45,7 @@ public class T01SettingActivity extends AppCompatActivity {
viewModelProvider
=
new
ViewModelProvider
(
this
);
viewModelProvider
=
new
ViewModelProvider
(
this
);
t01SettingViewModel
=
viewModelProvider
.
get
(
T01SettingViewModel
.
class
);
t01SettingViewModel
=
viewModelProvider
.
get
(
T01SettingViewModel
.
class
);
userViewModel
=
viewModelProvider
.
get
(
UserViewModel
.
class
);
dataBinding
.
setT01SettingViewModel
(
t01SettingViewModel
);
dataBinding
.
setT01SettingViewModel
(
t01SettingViewModel
);
ActionBar
actionBar
=
getSupportActionBar
();
ActionBar
actionBar
=
getSupportActionBar
();
...
@@ -42,9 +55,17 @@ public class T01SettingActivity extends AppCompatActivity {
...
@@ -42,9 +55,17 @@ public class T01SettingActivity extends AppCompatActivity {
}
}
setListeners
();
setListeners
();
resultLauncherRegister
();
observeBinding
();
}
}
// public static class SettingsFragment extends PreferenceFragmentCompat {
@Override
protected
void
onPause
()
{
super
.
onPause
();
t01SettingViewModel
.
savePrefs
();
userViewModel
.
setCurrentUser
(
t01SettingViewModel
.
getCurrentUser
());
}
// public static class SettingsFragment extends PreferenceFragmentCompat {
// @Override
// @Override
// public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
// public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
// setPreferencesFromResource(R.xml.root_preferences, rootKey);
// setPreferencesFromResource(R.xml.root_preferences, rootKey);
...
@@ -57,23 +78,45 @@ public class T01SettingActivity extends AppCompatActivity {
...
@@ -57,23 +78,45 @@ public class T01SettingActivity extends AppCompatActivity {
dataBinding
.
importDataButton
.
setOnClickListener
(
importData
);
dataBinding
.
importDataButton
.
setOnClickListener
(
importData
);
dataBinding
.
advancedButton
.
setOnClickListener
(
advancedOption
);
dataBinding
.
advancedButton
.
setOnClickListener
(
advancedOption
);
dataBinding
.
setUploadAddButton
.
setOnClickListener
(
TimeAdd
);
dataBinding
.
setUploadAddButton
.
setOnClickListener
(
TimeAdd
);
dataBinding
.
setUploadSubButton
.
setOnClickListener
(
TimeSub
);
dataBinding
.
setUploadSubButton
.
setOnClickListener
(
TimeSub
);
dataBinding
.
setGpsAddButton
.
setOnClickListener
(
GpsTimeAdd
);
dataBinding
.
setGpsAddButton
.
setOnClickListener
(
GpsTimeAdd
);
dataBinding
.
setGpsSubButton
.
setOnClickListener
(
GpsTimeSub
);
dataBinding
.
setGpsSubButton
.
setOnClickListener
(
GpsTimeSub
);
dataBinding
.
setFtpPortEditText
.
addTextChangedListener
(
PortTextWatcher
);
dataBinding
.
setFtpPortEditText
.
addTextChangedListener
(
PortTextWatcher
);
}
}
private
void
observeBinding
()
{
t01SettingViewModel
.
getUsers
().
observe
(
this
,
Users
->
{
this
.
Users
=
Users
;
});
}
private
void
resultLauncherRegister
()
{
UserResultLauncher
=
registerForActivityResult
(
new
ActivityResultContracts
.
StartActivityForResult
(),
result
->
{
if
(
result
.
getResultCode
()
==
RESULT_OK
&&
result
.
getData
()
!=
null
)
{
User
selectedUser
=
result
.
getData
().
getParcelableExtra
(
"User"
);
Toast
.
makeText
(
this
,
selectedUser
.
id
+
" "
+
selectedUser
.
name
,
Toast
.
LENGTH_SHORT
).
show
();
t01SettingViewModel
.
setUser
(
selectedUser
.
id
,
selectedUser
.
name
);
}
});
}
private
final
Button
.
OnClickListener
selectUser
=
v
->
{
private
final
Button
.
OnClickListener
selectUser
=
v
->
{
Toast
.
makeText
(
T01SettingActivity
.
this
,
"尚未實作使用者設定"
,
Toast
.
LENGTH_LONG
).
show
();
Intent
intent
=
new
Intent
();
Bundle
bundle
=
new
Bundle
();
intent
.
setClass
(
this
,
T02SelectUserActivity
.
class
);
if
(
Users
==
null
){
Toast
.
makeText
(
this
,
"請先匯入使用者"
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
}
bundle
.
putParcelableArrayList
(
"UserList"
,
new
ArrayList
<>(
Users
));
intent
.
putExtras
(
bundle
);
UserResultLauncher
.
launch
(
intent
);
//Toast.makeText(T01SettingActivity.this, "尚未實作使用者設定", Toast.LENGTH_LONG).show();
};
};
private
final
Button
.
OnClickListener
SaveSetting
=
v
->
{
private
final
Button
.
OnClickListener
SaveSetting
=
v
->
{
Toast
.
makeText
(
T01SettingActivity
.
this
,
String
.
format
(
"FTP:%s \n AutoNext:%s \n port:%s"
,
t01SettingViewModel
.
savePrefs
();
t01SettingViewModel
.
get_ftp_ip
(),
Toast
.
makeText
(
this
,
"設定保存成功,GPS設定將在下次開單時生效"
,
Toast
.
LENGTH_LONG
).
show
();
t01SettingViewModel
.
get_autoNext
(),
t01SettingViewModel
.
get_ftp_port
()),
Toast
.
LENGTH_LONG
).
show
();
};
};
private
final
Button
.
OnClickListener
advancedOption
=
v
->
{
private
final
Button
.
OnClickListener
advancedOption
=
v
->
{
...
...
app/src/main/java/ecom/android/newparkapp/view/T02SelectUserActivity.java
0 → 100644
View file @
74f29d79
package
ecom
.
android
.
newparkapp
.
view
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
java.util.List
;
import
ecom.android.newparkapp.R
;
import
ecom.android.newparkapp.adapter.SelectUserAdapter
;
import
ecom.android.newparkapp.adapter.SelectVehicleTypeAdapter
;
import
ecom.android.newparkapp.databinding.ActivityT02SelectUserBinding
;
import
ecom.android.newparkapp.databinding.ActivityT02SelectVehicleTypeBinding
;
import
ecom.android.newparkapp.entity.User
;
import
ecom.android.newparkapp.entity.VehicleType
;
public
class
T02SelectUserActivity
extends
AppCompatActivity
{
private
ActivityT02SelectUserBinding
dataBinding
;
private
SelectUserAdapter
selectUserAdapter
;
private
List
<
User
>
UserList
;
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
dataBinding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_t02_select_user
);
UserList
=
getIntent
().
getParcelableArrayListExtra
(
"UserList"
);
selectUserAdapter
=
new
SelectUserAdapter
(
user
->
userSelected
(
user
));
selectUserAdapter
.
submitList
(
UserList
);
dataBinding
.
rvSelectOption
.
setLayoutManager
(
new
GridLayoutManager
(
this
,
2
));
dataBinding
.
rvSelectOption
.
setAdapter
(
selectUserAdapter
);
dataBinding
.
btnSelectBack
.
setOnClickListener
(
view
->
userSelected
(
null
));
}
private
void
userSelected
(
User
user
){
if
(
user
==
null
){
setResult
(
RESULT_CANCELED
);
}
else
{
Intent
intent
=
getIntent
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putParcelable
(
"User"
,
user
);
intent
.
putExtras
(
bundle
);
setResult
(
RESULT_OK
,
intent
);
}
finish
();
}
}
\ No newline at end of file
app/src/main/java/ecom/android/newparkapp/viewModel/T01SettingViewModel.java
View file @
74f29d79
...
@@ -9,8 +9,11 @@ import android.content.SharedPreferences;
...
@@ -9,8 +9,11 @@ import android.content.SharedPreferences;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.lifecycle.AndroidViewModel
;
import
androidx.lifecycle.AndroidViewModel
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.LiveData
;
import
androidx.lifecycle.LiveData
;
import
androidx.lifecycle.MutableLiveData
;
import
androidx.lifecycle.MutableLiveData
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProvider
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Locale
;
...
@@ -31,6 +34,9 @@ public class T01SettingViewModel extends AndroidViewModel {
...
@@ -31,6 +34,9 @@ public class T01SettingViewModel extends AndroidViewModel {
private
User
mUser
;
private
User
mUser
;
private
SharedPreferences
settings
;
private
SharedPreferences
settings
;
private
LiveData
<
List
<
User
>>
Users
;
private
InfoRepository
infoRepository
;
public
T01SettingViewModel
(
@NonNull
Application
application
)
{
public
T01SettingViewModel
(
@NonNull
Application
application
)
{
super
(
application
);
super
(
application
);
tempPREF
=
new
PreferenceSettings
();
tempPREF
=
new
PreferenceSettings
();
...
@@ -38,6 +44,9 @@ public class T01SettingViewModel extends AndroidViewModel {
...
@@ -38,6 +44,9 @@ public class T01SettingViewModel extends AndroidViewModel {
restorePrefs
(
application
,
tempPREF
);
restorePrefs
(
application
,
tempPREF
);
PREF
.
setValue
(
tempPREF
);
PREF
.
setValue
(
tempPREF
);
infoRepository
=
new
InfoRepository
(
application
);
Users
=
infoRepository
.
userDao
.
getAllLiveData
();
}
}
private
void
restorePrefs
(
@NonNull
Application
application
,
PreferenceSettings
PREF
)
{
private
void
restorePrefs
(
@NonNull
Application
application
,
PreferenceSettings
PREF
)
{
...
@@ -83,6 +92,22 @@ public class T01SettingViewModel extends AndroidViewModel {
...
@@ -83,6 +92,22 @@ public class T01SettingViewModel extends AndroidViewModel {
//autoDeduction_switch.setChecked(pref_autoDeduction);
//autoDeduction_switch.setChecked(pref_autoDeduction);
}
}
public
void
savePrefs
(){
tempPREF
=
PREF
.
getValue
();
settings
.
edit
().
putString
(
Common
.
PREF_USER
,
mUser
.
getCombineInfo
()).
apply
();
settings
.
edit
().
putString
(
Common
.
PREF_FTP_ADDR
,
tempPREF
.
pref_FtpAddr
).
apply
();
settings
.
edit
().
putInt
(
Common
.
PREF_FTP_PORT
,
tempPREF
.
pref_FtpPort
).
apply
();
settings
.
edit
().
putString
(
Common
.
PREF_FTP_USER
,
tempPREF
.
pref_FtpUser
).
apply
();
settings
.
edit
().
putString
(
Common
.
PREF_FTP_PSW
,
tempPREF
.
pref_FtpPsw
).
apply
();
settings
.
edit
().
putInt
(
Common
.
PREF_UPLOAD_T
,
tempPREF
.
pref_UploadT
).
apply
();
settings
.
edit
().
putInt
(
Common
.
PREF_GPS_TIME
,
tempPREF
.
pref_GpsTime
).
apply
();
settings
.
edit
().
putBoolean
(
Common
.
PREF_AUTO_NEXT
,
tempPREF
.
pref_autoNext
).
apply
();
settings
.
edit
().
putBoolean
(
Common
.
PREF_USUAL_OPTION
,
tempPREF
.
pref_usualOption
).
apply
();
settings
.
edit
().
putBoolean
(
Common
.
PREF_NEARBY_LOCATION
,
tempPREF
.
pref_nearbyLocation
).
apply
();
settings
.
edit
().
putBoolean
(
Common
.
PREF_PRINT_AND_CAMERA
,
tempPREF
.
pref_printAndCamera
).
apply
();
settings
.
edit
().
putBoolean
(
Common
.
PREF_KEYBOARD_REV
,
tempPREF
.
pref_keyboardrev
).
apply
();
settings
.
edit
().
putBoolean
(
Common
.
PREF_AUTO_DEDUCTION
,
tempPREF
.
pref_autoDeduction
).
apply
();
}
/* PREF get set 操作
/* PREF get set 操作
...
@@ -104,6 +129,11 @@ public class T01SettingViewModel extends AndroidViewModel {
...
@@ -104,6 +129,11 @@ public class T01SettingViewModel extends AndroidViewModel {
PREF
.
setValue
(
tempPREF
);
PREF
.
setValue
(
tempPREF
);
}
}
public
void
set_pref_user
(
String
userInfo
){
tempPREF
.
pref_user
=
userInfo
;
PREF
.
setValue
(
tempPREF
);
}
public
String
get_ftp_ip
(){
public
String
get_ftp_ip
(){
return
PREF
.
getValue
().
pref_FtpAddr
;
return
PREF
.
getValue
().
pref_FtpAddr
;
}
}
...
@@ -114,4 +144,16 @@ public class T01SettingViewModel extends AndroidViewModel {
...
@@ -114,4 +144,16 @@ public class T01SettingViewModel extends AndroidViewModel {
public
String
get_ftp_port
(){
public
String
get_ftp_port
(){
return
String
.
valueOf
(
PREF
.
getValue
().
pref_FtpPort
);
return
String
.
valueOf
(
PREF
.
getValue
().
pref_FtpPort
);
}
}
/* User get set 操作
*/
public
void
setUser
(
int
id
,
String
name
){
mUser
=
new
User
(
id
,
name
);
set_pref_user
(
mUser
.
getCombineInfo
());
}
public
LiveData
<
List
<
User
>>
getUsers
(){
return
Users
;
}
public
User
getCurrentUser
(){
return
mUser
;}
}
}
app/src/main/java/ecom/android/newparkapp/viewModel/UserViewModel.java
View file @
74f29d79
...
@@ -38,6 +38,9 @@ public class UserViewModel extends AndroidViewModel {
...
@@ -38,6 +38,9 @@ public class UserViewModel extends AndroidViewModel {
User
cUser
=
infoRepository
.
userDao
.
findByName
(
"Root"
);
User
cUser
=
infoRepository
.
userDao
.
findByName
(
"Root"
);
currentUser
.
setValue
(
cUser
);
currentUser
.
setValue
(
cUser
);
}
}
public
void
setCurrentUser
(
User
cUser
){
currentUser
.
setValue
(
cUser
);
}
public
LiveData
<
User
>
getUserLiveData
(){
return
userLiveData
;}
public
LiveData
<
User
>
getUserLiveData
(){
return
userLiveData
;}
}
}
app/src/main/res/layout/activity_t01_setting_layout.xml
View file @
74f29d79
...
@@ -253,8 +253,15 @@
...
@@ -253,8 +253,15 @@
android:layout_marginTop=
"5dp"
android:layout_marginTop=
"5dp"
android:gravity=
"center"
android:gravity=
"center"
android:text=
"保存"
android:text=
"保存"
android:visibility=
"invisible"
android:textSize=
"25sp"
/>
android:textSize=
"25sp"
/>
<View
android:id=
"@+id/divider"
android:layout_width=
"match_parent"
android:layout_height=
"2dp"
android:background=
"?android:attr/listDivider"
/>
<androidx.appcompat.widget.SwitchCompat
<androidx.appcompat.widget.SwitchCompat
android:id=
"@+id/autoNext_switch"
android:id=
"@+id/autoNext_switch"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
app/src/main/res/layout/activity_t02_select_user.xml
0 → 100644
View file @
74f29d79
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
tools:context=
".view.T02SelectVehicleTypeActivity"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:orientation=
"horizontal"
android:paddingStart=
"0dp"
android:paddingEnd=
"5dp"
>
<TextView
android:id=
"@+id/tv_select_title"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"0.25"
android:gravity=
"center|center_vertical"
android:text=
"選擇使用者"
android:textSize=
"30sp"
/>
<Button
android:id=
"@+id/btn_select_back"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"0.75"
android:text=
"@string/label_back"
android:textSize=
"30sp"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_select_option"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"0.1"
android:padding=
"6dp"
app:layoutManager =
"androidx.recyclerview.widget.GridLayoutManager"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintRight_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:spanCount=
"2"
tools:listitem=
"@layout/recycler_view_user_item"
/>
</LinearLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/recycler_view_user_item.xml
0 → 100644
View file @
74f29d79
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<Button
android:id=
"@+id/btn_select_user"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"Button"
android:textSize=
"20dp"
/>
</layout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment