remove unnecessary elements

This commit is contained in:
Michele Balistreri 2019-10-31 15:28:04 +03:00
parent 1bc42f4f59
commit 494126e985
No known key found for this signature in database
GPG Key ID: E9567DA33A4F791A
27 changed files with 31 additions and 311 deletions

View File

@ -16,11 +16,11 @@
android:roundIcon="@mipmap/ic_launcher_round" android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity android:name=".InitActivity"></activity> <activity android:name=".ui.InitActivity"></activity>
<activity android:name=".PairingActivity" /> <activity android:name=".ui.PairingActivity" />
<activity android:name=".PINActivity" /> <activity android:name=".ui.PINActivity" />
<activity <activity
android:name=".MainActivity" android:name=".ui.MainActivity"
android:label="@string/app_name"> android:label="@string/app_name">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />

View File

@ -2,10 +2,10 @@ package im.status.keycard.connect.card
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import im.status.keycard.connect.INIT_ACTIVITY_PAIRING import im.status.keycard.connect.ui.INIT_ACTIVITY_PAIRING
import im.status.keycard.connect.INIT_ACTIVITY_PIN import im.status.keycard.connect.ui.INIT_ACTIVITY_PIN
import im.status.keycard.connect.INIT_ACTIVITY_PUK import im.status.keycard.connect.ui.INIT_ACTIVITY_PUK
import im.status.keycard.connect.InitActivity import im.status.keycard.connect.ui.InitActivity
import im.status.keycard.connect.data.PairingManager import im.status.keycard.connect.data.PairingManager
import im.status.keycard.io.APDUException import im.status.keycard.io.APDUException
import java.io.IOException import java.io.IOException

View File

@ -3,8 +3,9 @@ package im.status.keycard.connect.card
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import im.status.keycard.applet.KeycardCommandSet import im.status.keycard.applet.KeycardCommandSet
import im.status.keycard.connect.*
import im.status.keycard.connect.data.PairingManager import im.status.keycard.connect.data.PairingManager
import im.status.keycard.connect.ui.PAIRING_ACTIVITY_PASSWORD
import im.status.keycard.connect.ui.PairingActivity
import java.io.IOException import java.io.IOException
class OpenSecureChannelCommand : CardCommand { class OpenSecureChannelCommand : CardCommand {

View File

@ -2,9 +2,9 @@ package im.status.keycard.connect.card
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
import im.status.keycard.connect.PINActivity import im.status.keycard.connect.ui.PINActivity
import im.status.keycard.connect.PIN_ACTIVITY_ATTEMPTS import im.status.keycard.connect.ui.PIN_ACTIVITY_ATTEMPTS
import im.status.keycard.connect.PIN_ACTIVITY_CARD_UID import im.status.keycard.connect.ui.PIN_ACTIVITY_CARD_UID
import im.status.keycard.connect.data.PINCache import im.status.keycard.connect.data.PINCache
import im.status.keycard.io.APDUException import im.status.keycard.io.APDUException
import im.status.keycard.io.WrongPINException import im.status.keycard.io.WrongPINException

View File

@ -1,4 +1,4 @@
package im.status.keycard.connect package im.status.keycard.connect.ui
import android.app.Activity import android.app.Activity
import android.content.Intent import android.content.Intent
@ -10,6 +10,7 @@ import im.status.keycard.globalplatform.Crypto
import android.util.Base64.NO_PADDING import android.util.Base64.NO_PADDING
import android.util.Base64.NO_WRAP import android.util.Base64.NO_WRAP
import android.widget.TextView import android.widget.TextView
import im.status.keycard.connect.R
const val INIT_ACTIVITY_PIN = "initPIN" const val INIT_ACTIVITY_PIN = "initPIN"

View File

@ -1,15 +1,11 @@
package im.status.keycard.connect package im.status.keycard.connect.ui
import android.nfc.NfcAdapter import android.nfc.NfcAdapter
import android.os.Bundle import android.os.Bundle
import com.google.android.material.bottomnavigation.BottomNavigationView
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
import im.status.keycard.android.NFCCardManager import im.status.keycard.android.NFCCardManager
import android.content.Intent import android.content.Intent
import im.status.keycard.connect.R
import im.status.keycard.connect.card.* import im.status.keycard.connect.card.*
import im.status.keycard.connect.data.PairingManager import im.status.keycard.connect.data.PairingManager
@ -21,11 +17,7 @@ class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main) setContentView(R.layout.activity_main)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
val appBarConfiguration = AppBarConfiguration(setOf(R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications))
PairingManager.init(this) PairingManager.init(this)
@ -36,9 +28,6 @@ class MainActivity : AppCompatActivity() {
cardManager = NFCCardManager() cardManager = NFCCardManager()
cardManager.setCardListener(executor) cardManager.setCardListener(executor)
cardManager.start() cardManager.start()
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
} }
override fun onResume() { override fun onResume() {

View File

@ -1,12 +1,12 @@
package im.status.keycard.connect package im.status.keycard.connect.ui
import android.app.Activity import android.app.Activity
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.view.View.INVISIBLE
import android.widget.EditText import android.widget.EditText
import android.widget.TextView import android.widget.TextView
import im.status.keycard.connect.R
import im.status.keycard.connect.data.PINCache import im.status.keycard.connect.data.PINCache
const val PIN_ACTIVITY_ATTEMPTS = "remainingAttempts" const val PIN_ACTIVITY_ATTEMPTS = "remainingAttempts"

View File

@ -1,14 +1,12 @@
package im.status.keycard.connect package im.status.keycard.connect.ui
import android.app.Activity import android.app.Activity
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.EditText import android.widget.EditText
import im.status.keycard.connect.data.PINCache
import android.content.Intent import android.content.Intent
import androidx.core.app.ComponentActivity.ExtraData import im.status.keycard.connect.R
import androidx.core.content.ContextCompat.getSystemService
const val PAIRING_ACTIVITY_PASSWORD = "pairingPassword" const val PAIRING_ACTIVITY_PASSWORD = "pairingPassword"
@ -21,7 +19,10 @@ class PairingActivity : AppCompatActivity() {
fun ok(view: View) { fun ok(view: View) {
val intent = Intent() val intent = Intent()
intent.putExtra(PAIRING_ACTIVITY_PASSWORD, findViewById<EditText>(R.id.passwordText).text.toString()) intent.putExtra(
PAIRING_ACTIVITY_PASSWORD, findViewById<EditText>(
R.id.passwordText
).text.toString())
setResult(Activity.RESULT_OK, intent) setResult(Activity.RESULT_OK, intent)
finish() finish()
} }

View File

@ -1,26 +0,0 @@
package im.status.keycard.connect.ui.dashboard
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import im.status.keycard.connect.R
class DashboardFragment : Fragment() {
private lateinit var dashboardViewModel: DashboardViewModel
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
dashboardViewModel = ViewModelProviders.of(this).get(DashboardViewModel::class.java)
val root = inflater.inflate(R.layout.fragment_dashboard, container, false)
val textView: TextView = root.findViewById(R.id.text_dashboard)
dashboardViewModel.text.observe(this, Observer {
textView.text = it
})
return root
}
}

View File

@ -1,13 +0,0 @@
package im.status.keycard.connect.ui.dashboard
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
class DashboardViewModel : ViewModel() {
private val _text = MutableLiveData<String>().apply {
value = "This is dashboard Fragment"
}
val text: LiveData<String> = _text
}

View File

@ -1,29 +0,0 @@
package im.status.keycard.connect.ui.home
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import im.status.keycard.connect.R
class HomeFragment : Fragment() {
private lateinit var homeViewModel: HomeViewModel
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
homeViewModel = ViewModelProviders.of(this).get(HomeViewModel::class.java)
val root = inflater.inflate(R.layout.fragment_home, container, false)
val textView: TextView = root.findViewById(R.id.text_home)
homeViewModel.text.observe(this, Observer {
textView.text = it
})
return root
}
}

View File

@ -1,13 +0,0 @@
package im.status.keycard.connect.ui.home
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
class HomeViewModel : ViewModel() {
private val _text = MutableLiveData<String>().apply {
value = "This is home Fragment"
}
val text: LiveData<String> = _text
}

View File

@ -1,25 +0,0 @@
package im.status.keycard.connect.ui.notifications
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import im.status.keycard.connect.R
class NotificationsFragment : Fragment() {
private lateinit var notificationsViewModel: NotificationsViewModel
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
notificationsViewModel = ViewModelProviders.of(this).get(NotificationsViewModel::class.java)
val root = inflater.inflate(R.layout.fragment_notifications, container, false)
val textView: TextView = root.findViewById(R.id.text_notifications)
notificationsViewModel.text.observe(this, Observer {
textView.text = it
})
return root
}
}

View File

@ -1,13 +0,0 @@
package im.status.keycard.connect.ui.notifications
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
class NotificationsViewModel : ViewModel() {
private val _text = MutableLiveData<String>().apply {
value = "This is notifications Fragment"
}
val text: LiveData<String> = _text
}

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
</vector>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" />
</vector>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
</vector>

View File

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".InitActivity"> tools:context=".ui.InitActivity">
<TextView <TextView
android:id="@+id/pinView" android:id="@+id/pinView"

View File

@ -1,33 +1,11 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container" android:id="@+id/container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingTop="?attr/actionBarSize"> android:paddingTop="?attr/actionBarSize"
tools:context=".ui.MainActivity">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="?android:attr/windowBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:menu="@menu/bottom_nav_menu" />
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:layout_constraintBottom_toTopOf="@id/nav_view"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/mobile_navigation" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".PairingActivity"> tools:context=".ui.PairingActivity">
<TextView <TextView
android:id="@+id/passwordPrompt" android:id="@+id/passwordPrompt"

View File

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".PINActivity"> tools:context=".ui.PINActivity">
<EditText <EditText
android:id="@+id/pinText" android:id="@+id/pinText"

View File

@ -1,19 +0,0 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_dashboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,19 +0,0 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_home"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,19 +0,0 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_notifications"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:textAlignment="center"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,19 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/title_home" />
<item
android:id="@+id/navigation_dashboard"
android:icon="@drawable/ic_dashboard_black_24dp"
android:title="@string/title_dashboard" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications_black_24dp"
android:title="@string/title_notifications" />
</menu>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<navigation 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:id="@+id/mobile_navigation"
app:startDestination="@+id/navigation_home">
<fragment
android:id="@+id/navigation_home"
android:name="im.status.keycard.connect.ui.home.HomeFragment"
android:label="@string/title_home"
tools:layout="@layout/fragment_home" />
<fragment
android:id="@+id/navigation_dashboard"
android:name="im.status.keycard.connect.ui.dashboard.DashboardFragment"
android:label="@string/title_dashboard"
tools:layout="@layout/fragment_dashboard" />
<fragment
android:id="@+id/navigation_notifications"
android:name="im.status.keycard.connect.ui.notifications.NotificationsFragment"
android:label="@string/title_notifications"
tools:layout="@layout/fragment_notifications" />
</navigation>

View File

@ -1,8 +1,5 @@
<resources> <resources>
<string name="app_name">Keycard Connect</string> <string name="app_name">Keycard Connect</string>
<string name="title_home">Home</string>
<string name="title_dashboard">Dashboard</string>
<string name="title_notifications">Notifications</string>
<string name="pin_prompt">Insert your PIN</string> <string name="pin_prompt">Insert your PIN</string>
<string name="pin_attempts">%1$d retries left</string> <string name="pin_attempts">%1$d retries left</string>
<string name="pairing_password_prompt">Insert your pairing password</string> <string name="pairing_password_prompt">Insert your pairing password</string>