diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b810d65626beaa16386a569ce39357a6c67f3e42..900d2e8f894749fd25899ee3ddb01fae98732cb1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -60,4 +60,6 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") + // graph + implementation("com.github.PhilJay:MPAndroidChart:v3.1.0") } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1ede64e5a3ee0b6154b9a38887f34ca4ef0a6507..c778eb5f0a0b044c21bf4b0f0907f6e1530260cf 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -27,8 +27,7 @@ android:screenOrientation="portrait"/> <activity android:name=".MainActivity" - android:exported="false" - android:screenOrientation="portrait" /> + android:exported="false" /> <activity android:name=".SplashActivity" android:exported="true" diff --git a/app/src/main/java/com/example/bondoman/GraphFragment.kt b/app/src/main/java/com/example/bondoman/GraphFragment.kt index dfe6439e3aada5ca058fe7251284fd5fec4416ce..39756ce0696417c9e03e1b6b92a31fec426ba7d0 100644 --- a/app/src/main/java/com/example/bondoman/GraphFragment.kt +++ b/app/src/main/java/com/example/bondoman/GraphFragment.kt @@ -1,19 +1,56 @@ package com.example.bondoman + import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.navigation.fragment.findNavController +import com.github.mikephil.charting.charts.PieChart +import com.github.mikephil.charting.data.PieData +import com.github.mikephil.charting.data.PieDataSet +import com.github.mikephil.charting.data.PieEntry + +class GraphFragment : Fragment() { -class GraphFragment: Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - val navController = findNavController() - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_grafik, container, false) + val view = inflater.inflate(R.layout.fragment_grafik, container, false) + val pieChart: PieChart = view.findViewById(R.id.pieChart) + + // Dummy data + val income = 5000f + val outcome = 3000f + + val entries = ArrayList<PieEntry>() + entries.add(PieEntry(income, "Income")) + entries.add(PieEntry(outcome, "Outcome")) + + val dataSet = PieDataSet(entries, "Transaction Summary") + + val colors = ArrayList<Int>() + colors.add(resources.getColor(R.color.colorIncome)) + colors.add(resources.getColor(R.color.colorOutcome)) + dataSet.colors = colors + dataSet.valueTextSize = 24f + dataSet.valueTextColor = resources.getColor(R.color.text_graph) + + + val data = PieData(dataSet) + + pieChart.data = data + + pieChart.description.isEnabled = false + + pieChart.setHoleColor(android.R.color.transparent) + + val legend = pieChart.legend + legend.isEnabled = false + + pieChart.invalidate() + + return view } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout-land/fragment_grafik.xml b/app/src/main/res/layout-land/fragment_grafik.xml new file mode 100644 index 0000000000000000000000000000000000000000..7b3764dfc0084e56be18792d0cddd1d289e20d37 --- /dev/null +++ b/app/src/main/res/layout-land/fragment_grafik.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="#000113"> + + <com.github.mikephil.charting.charts.PieChart + android:id="@+id/pieChart" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginBottom="16dp"/> + +</RelativeLayout> diff --git a/app/src/main/res/layout/fragment_grafik.xml b/app/src/main/res/layout/fragment_grafik.xml index 8a4c372a4dff0e20a6b38578700ab1b884436391..7b3764dfc0084e56be18792d0cddd1d289e20d37 100644 --- a/app/src/main/res/layout/fragment_grafik.xml +++ b/app/src/main/res/layout/fragment_grafik.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - xmlns:app="http://schemas.android.com/apk/res-auto"> + android:background="#000113"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - android:text="@string/graph_button_description"> - </TextView> + <com.github.mikephil.charting.charts.PieChart + android:id="@+id/pieChart" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginBottom="16dp"/> -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file +</RelativeLayout> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f97cf6dffd64c6c08a9f0cc08f90558d282fac72..dfffc97b3a6fc643cf4a61b1c6e7ee9f1fc02665 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -11,4 +11,7 @@ <color name="light_purple">#9290C3</color> <color name="light_grey">#EAEAEA</color> <color name="text_grey">#475569</color> + <color name="colorIncome">#1B1A55</color> + <color name="colorOutcome">#9290C3</color> + <color name="text_graph">#5852EE</color> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6f376045a37ddaf073db98acd7b53d66094eab1f..607d363b367ed7492ec9b6f417d2be177d7def9f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -13,8 +13,5 @@ <string name="rescan_button_description">Pindai Ulang</string> <string name="image_button_description">Galeri</string> <string name="confirm_button_description">Konfirmasi</string> - <!-- TODO: Remove or change this placeholder text --> <string name="hello_blank_fragment">Hello blank fragment</string> - - </resources> \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index a8ccf6044d00204dc748e81f126373ec02d71ad2..e76ad3ee0278e4805ffdae7c49fc18bef57de286 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,7 @@ pluginManagement { google() mavenCentral() gradlePluginPortal() + maven("https://jitpack.io") } } dependencyResolutionManagement { @@ -10,6 +11,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + maven("https://jitpack.io") } }