Compare commits
1 Commits
smi_131_re
...
local-data
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
563621d72b |
@@ -67,6 +67,11 @@
|
||||
android:exported="false"
|
||||
android:theme="@style/Theme.HPOS.NoActionBar"/>
|
||||
|
||||
<activity
|
||||
android:name="com.example.hpostesting.presentation.datatransfer.DataTransferActivity"
|
||||
android:exported="false"
|
||||
android:theme="@style/Theme.HPOS.NoActionBar"/>
|
||||
|
||||
<activity
|
||||
android:name="com.example.hpostesting.presentation.hemocube.HemocubeActivity"
|
||||
android:exported="false"
|
||||
|
||||
@@ -45,7 +45,7 @@ object AppModule {
|
||||
@Singleton
|
||||
fun provideMyDatabase(@ApplicationContext context: Context): MyDatabase {
|
||||
return Room.databaseBuilder(
|
||||
context, MyDatabase::class.java, "my_database"
|
||||
context, MyDatabase::class.java, "hpos_database"
|
||||
).fallbackToDestructiveMigration().build()
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.example.hpostesting.presentation.datatransfer
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import `in`.sminnovations.hpostesting.databinding.ActivityDataTransferBinding
|
||||
|
||||
@AndroidEntryPoint
|
||||
class DataTransferActivity : AppCompatActivity() {
|
||||
lateinit var binding: ActivityDataTransferBinding
|
||||
lateinit var sharedPreference: SharedPreferences
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
binding = ActivityDataTransferBinding.inflate(layoutInflater)
|
||||
sharedPreference = this.getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
||||
setContentView(binding.root)
|
||||
|
||||
if (savedInstanceState == null) {
|
||||
supportFragmentManager.beginTransaction()
|
||||
.replace(binding.fgDataTransfer.id, DataTransferFragment())
|
||||
.commit()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package com.example.hpostesting.presentation.datatransfer
|
||||
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Bundle
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.Fragment
|
||||
import com.google.firebase.storage.FirebaseStorage
|
||||
import `in`.sminnovations.hpostesting.databinding.FragmentAssuranceControlsBinding
|
||||
import java.io.File
|
||||
|
||||
class DataTransferFragment : Fragment() {
|
||||
private lateinit var binding: FragmentAssuranceControlsBinding
|
||||
private lateinit var sharedPreferences: SharedPreferences
|
||||
private lateinit var databasePath: String
|
||||
private val storage = FirebaseStorage.getInstance()
|
||||
private val storageReference = storage.reference
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?,
|
||||
): View {
|
||||
binding = FragmentAssuranceControlsBinding.inflate(inflater, container, false)
|
||||
sharedPreferences = requireContext().getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
||||
|
||||
val databaseName = "hpos_database.db"
|
||||
databasePath = requireContext().getDatabasePath(databaseName).absolutePath
|
||||
|
||||
return binding.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
initViews()
|
||||
}
|
||||
|
||||
private fun initViews() {
|
||||
binding.btnSubmit.setOnClickListener {
|
||||
uploadDatabaseFile()
|
||||
}
|
||||
}
|
||||
|
||||
private fun uploadDatabaseFile() {
|
||||
val databaseFile = File(databasePath)
|
||||
val deviceId = "unknown"
|
||||
|
||||
if (databaseFile.exists()) {
|
||||
val storageRef = storageReference.child("databases/${deviceId}/${databaseFile.name}")
|
||||
|
||||
val fileUri = android.net.Uri.fromFile(databaseFile)
|
||||
val fileReference = storageRef.child(fileUri.lastPathSegment!!)
|
||||
|
||||
fileReference.putFile(fileUri)
|
||||
.addOnSuccessListener {
|
||||
|
||||
}
|
||||
.addOnFailureListener {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
package com.example.hpostesting.presentation.datatransfer
|
||||
|
||||
import androidx.lifecycle.ViewModel
|
||||
|
||||
class DataTransferViewModel : ViewModel() {
|
||||
}
|
||||
24
app/src/main/res/layout/activity_data_transfer.xml
Normal file
24
app/src/main/res/layout/activity_data_transfer.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cl_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fg_data_transfer"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
tools:context=".presentation.assurance.AssuranceControlsActivity">
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</layout>
|
||||
63
app/src/main/res/layout/fragment_data_transfer.xml
Normal file
63
app/src/main/res/layout/fragment_data_transfer.xml
Normal file
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="com.example.hpostesting.presentation.datatransfer.DataTransferFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_subtitle2"
|
||||
style="@style/title2"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="24dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:textSize="22sp"
|
||||
android:text="Local Data Transfer"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_submit"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp"
|
||||
android:layout_marginTop="352dp"
|
||||
android:clickable="false"
|
||||
android:gravity="center"
|
||||
android:text="Upload"
|
||||
android:textColor="@color/white"
|
||||
app:cornerRadius="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/tv_subtitle2" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/iv_check"
|
||||
android:visibility="gone"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:layout_marginTop="40dp"
|
||||
android:importantForAccessibility="no"
|
||||
android:src="@drawable/check"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/btn_submit" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progressBar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:elevation="12dp"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateDrawable="@drawable/progressbar_drawable"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user