diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 22ffc66..bb80ebf 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -4,10 +4,10 @@
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 6199cc2..96f276c 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,13 @@
+
+
+
+
+
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 797acea..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
new file mode 100644
index 0000000..b9744af
--- /dev/null
+++ b/.vscode/c_cpp_properties.json
@@ -0,0 +1,20 @@
+{
+ "configurations": [
+ {
+ "name": "macos-gcc-x64",
+ "includePath": [
+ "${workspaceFolder}/**"
+ ],
+ "compilerPath": "/usr/bin/clang",
+ "cStandard": "${default}",
+ "cppStandard": "${default}",
+ "intelliSenseMode": "macos-gcc-x64",
+ "compilerArgs": [
+ "-Wall",
+ "-Wextra",
+ "-Wpedantic"
+ ]
+ }
+ ],
+ "version": 4
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..378100c
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,19 @@
+{
+ "C_Cpp_Runner.cCompilerPath": "/usr/bin/clang",
+ "C_Cpp_Runner.cppCompilerPath": "/usr/bin/clang++",
+ "C_Cpp_Runner.debuggerPath": "/usr/bin/lldb",
+ "C_Cpp_Runner.makePath": "/usr/bin/make",
+ "C_Cpp_Runner.warnings": [
+ "-Wall",
+ "-Wextra",
+ "-Wpedantic"
+ ],
+ "C_Cpp_Runner.compilerArgs": [],
+ "C_Cpp_Runner.includePaths": [],
+ "C_Cpp_Runner.linkerArgs": [],
+ "C_Cpp_Runner.cStandard": "",
+ "C_Cpp_Runner.cppStandard": "",
+ "C_Cpp_Runner.excludeSearch": [],
+ "C_Cpp_Runner.enableWarnings": true,
+ "C_Cpp_Runner.warningsAsError": false
+}
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 079951e..7fa5e82 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -104,4 +104,7 @@ dependencies {
implementation 'com.google.firebase:firebase-crashlytics-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.maxkeppeler.sheets:info:2.2.5'
+ //lottie
+ def lottieVersion = "4.1.0"
+ implementation "com.airbnb.android:lottie:$lottieVersion"
}
\ No newline at end of file
diff --git a/app/release/.app-release.aab.icloud b/app/release/.app-release.aab.icloud
new file mode 100644
index 0000000..f190a6b
Binary files /dev/null and b/app/release/.app-release.aab.icloud differ
diff --git a/app/release/app-release.aab b/app/release/app-release.aab
deleted file mode 100644
index 656dce4..0000000
Binary files a/app/release/app-release.aab and /dev/null differ
diff --git a/app/src/main/java/com/annhienktuit/piggykeeper/activity/MainActivity.kt b/app/src/main/java/com/annhienktuit/piggykeeper/activity/MainActivity.kt
index b999bc9..5c06089 100644
--- a/app/src/main/java/com/annhienktuit/piggykeeper/activity/MainActivity.kt
+++ b/app/src/main/java/com/annhienktuit/piggykeeper/activity/MainActivity.kt
@@ -98,16 +98,8 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
- overridePendingTransition(R.anim.from_middle, R.anim.to_middle) //transistion
+ //overridePendingTransition(R.anim.from_middle, R.anim.to_middle) //transistion
if(!isNetworkAvailable()){
-// val builder = AlertDialog.Builder(this)
-// builder.setTitle("Connection Warning")
-// builder.setMessage("Make sure you have Internet connection to sync data with other devices.\n" +
-// "But no worry, you can use the app and your local data will be upload when connection available")
-// builder.setIcon(R.drawable.ic_baseline_warning_24)
-// builder.setPositiveButton("Okay") { dialog, which ->
-// }
-// builder.show()
AestheticDialog.Builder(this, DialogStyle.CONNECTIFY, DialogType.ERROR)
.setTitle("No Internet Connection")
.setMessage("Dont't worry, your data will be upload when connection available")
@@ -118,7 +110,6 @@ class MainActivity : AppCompatActivity() {
.setOnClickListener(object : OnDialogClickListener {
override fun onClick(dialog: AestheticDialog.Builder) {
dialog.dismiss()
- //actions...
}
})
.show()
diff --git a/app/src/main/java/com/annhienktuit/piggykeeper/activity/SavingActivity.kt b/app/src/main/java/com/annhienktuit/piggykeeper/activity/SavingActivity.kt
index 24ea939..b7cfd51 100644
--- a/app/src/main/java/com/annhienktuit/piggykeeper/activity/SavingActivity.kt
+++ b/app/src/main/java/com/annhienktuit/piggykeeper/activity/SavingActivity.kt
@@ -110,7 +110,7 @@ class SavingActivity : AppCompatActivity() {
}
})
- getDatabase(ref.child("saving" + pos), object : OnGetDataListener {
+ getDatabase(ref.child("saving$pos"), object : OnGetDataListener {
override fun onSuccess(dataSnapshot: DataSnapshot) {
if (dataSnapshot.exists()) {
val index = dataSnapshot.child("index").value.toString()
diff --git a/app/src/main/java/com/annhienktuit/piggykeeper/activity/SplashScreenActivity.kt b/app/src/main/java/com/annhienktuit/piggykeeper/activity/SplashScreenActivity.kt
index dff3852..f8c66c1 100644
--- a/app/src/main/java/com/annhienktuit/piggykeeper/activity/SplashScreenActivity.kt
+++ b/app/src/main/java/com/annhienktuit/piggykeeper/activity/SplashScreenActivity.kt
@@ -24,12 +24,17 @@ class SplashScreenActivity : AppCompatActivity() {
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
window.setStatusBarColor(Color.parseColor("#FFFFFF"))
}
- imageViewLogo.alpha = 0f
+ //imageViewLogo.alpha = 0f
textViewTitle.alpha = 0f
+// imageViewLogo.animate().setDuration(1500).alpha(1f).withEndAction {
+// val intent = Intent(this, MainActivity::class.java)
+// startActivity(intent)
+// overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
+// finish()
+// }
imageViewLogo.animate().setDuration(1500).alpha(1f).withEndAction {
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
- overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out)
finish()
}
textViewTitle.animate().setDuration(1500).alpha(1f)
diff --git a/app/src/main/java/com/annhienktuit/piggykeeper/adapter/CardAdapter.kt b/app/src/main/java/com/annhienktuit/piggykeeper/adapter/CardAdapter.kt
index 4d86efa..17c5dd3 100644
--- a/app/src/main/java/com/annhienktuit/piggykeeper/adapter/CardAdapter.kt
+++ b/app/src/main/java/com/annhienktuit/piggykeeper/adapter/CardAdapter.kt
@@ -65,7 +65,7 @@ class CardAdapter(private val cardList: List) : RecyclerView.Adapter 0) return cardList[0].index!!
+ if (cardList.isNotEmpty()) return cardList[0].index!!
return 0
}
fun deleteItem(pos: Int) {
diff --git a/app/src/main/java/com/annhienktuit/piggykeeper/fragments/HomeFragment.kt b/app/src/main/java/com/annhienktuit/piggykeeper/fragments/HomeFragment.kt
index 89efda7..ee29cf2 100644
--- a/app/src/main/java/com/annhienktuit/piggykeeper/fragments/HomeFragment.kt
+++ b/app/src/main/java/com/annhienktuit/piggykeeper/fragments/HomeFragment.kt
@@ -48,6 +48,7 @@ class HomeFragment : Fragment() {
): View? {
// Inflate the layout for this fragment
val view = inflater.inflate(R.layout.fragment_home, container, false)
+ setData(view)
val pref = this.requireActivity()
.getSharedPreferences("pref", Context.MODE_PRIVATE)
Log.i("NotiFrag: ", pref.getString("status","").toString())
@@ -57,7 +58,6 @@ class HomeFragment : Fragment() {
val intent = Intent(activity, TransactionActivity::class.java)
startActivity(intent)
}
- setData(view)
return view
}
diff --git a/app/src/main/res/layout/activity_splash_screen.xml b/app/src/main/res/layout/activity_splash_screen.xml
index 459c63a..1d09a2e 100644
--- a/app/src/main/res/layout/activity_splash_screen.xml
+++ b/app/src/main/res/layout/activity_splash_screen.xml
@@ -6,16 +6,29 @@
android:layout_height="match_parent"
tools:context=".activity.SplashScreenActivity">
-
+ app:layout_constraintVertical_bias="0.267"/>
+
+
+
+
+
+
+
+
+
+
+