Skip to content

Commit 854ff9a

Browse files
author
kashif.mehmood
committed
layout enhacements, multiple language support , abbility t add contacts
1 parent f55f92a commit 854ff9a

27 files changed

+852
-163
lines changed

.idea/gradle.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/build.gradle

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ dependencies {
5656
// CameraX Lifecycle Library
5757
implementation "androidx.camera:camera-lifecycle:$camerax_version"
5858
// CameraX View class
59-
implementation "androidx.camera:camera-view:1.0.0-alpha24"
59+
implementation "androidx.camera:camera-view:1.0.0-alpha26"
6060
testImplementation 'junit:junit:4.+'
6161
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
6262
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
@@ -65,4 +65,10 @@ dependencies {
6565

6666
implementation 'com.snatik:storage:2.1.0'
6767

68+
//spinkit
69+
implementation 'com.github.ybq:Android-SpinKit:1.4.0'
70+
71+
//material
72+
implementation 'com.google.android.material:material:1.4.0'
73+
6874
}

app/src/main/AndroidManifest.xml

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="io.intelligible.intelligentocr">
4-
<uses-permission android:name="android.permission.CAMERA"/>
5-
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
6-
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
7-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
4+
5+
<uses-permission android:name="android.permission.CAMERA" />
6+
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
7+
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
8+
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
89

910
<application
1011
android:allowBackup="true"
@@ -16,7 +17,15 @@
1617
<meta-data
1718
android:name="com.google.mlkit.vision.DEPENDENCIES"
1819
android:value="ocr" />
19-
<activity android:name=".MainActivity">
20+
<meta-data
21+
android:name="preloaded_fonts"
22+
android:resource="@array/preloaded_fonts" />
23+
24+
<activity
25+
android:name=".MainActivity"
26+
android:configChanges="fontScale|keyboardHidden|orientation|screenSize"
27+
android:screenOrientation="portrait">
28+
2029
<intent-filter>
2130
<action android:name="android.intent.action.MAIN" />
2231

app/src/main/java/io/intelligible/intelligentocr/InfoDisplayFragment.kt

Lines changed: 0 additions & 102 deletions
This file was deleted.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
package io.intelligible.intelligentocr.adapter
2+
3+
import android.view.LayoutInflater
4+
import android.view.ViewGroup
5+
import androidx.recyclerview.widget.AsyncListDiffer
6+
import androidx.recyclerview.widget.DiffUtil
7+
import androidx.recyclerview.widget.RecyclerView
8+
import io.intelligible.intelligentocr.databinding.ViewholderLanguagesBinding
9+
import io.intelligible.intelligentocr.ui.languageClickListener
10+
11+
12+
class LanguagesAdapter(val languageClickListener: languageClickListener) : RecyclerView.Adapter<LanguagesAdapter.LangugaeViewHolder>() {
13+
14+
15+
inner class LangugaeViewHolder(private val itemViewBinding: ViewholderLanguagesBinding) :
16+
RecyclerView.ViewHolder(
17+
itemViewBinding.root
18+
) {
19+
20+
fun bindView(lanaguageItem: String) {
21+
itemViewBinding.apply {
22+
tvlang.text = lanaguageItem
23+
}
24+
itemViewBinding.root.setOnClickListener {
25+
languageClickListener(lanaguageItem)
26+
}
27+
28+
29+
}
30+
}
31+
32+
private val differCallBack = object : DiffUtil.ItemCallback<String>() {
33+
34+
override fun areItemsTheSame(oldItem: String, newItem: String): Boolean {
35+
return oldItem.length == newItem.length
36+
}
37+
38+
override fun areContentsTheSame(oldItem: String, newItem: String): Boolean {
39+
return oldItem == newItem
40+
}
41+
42+
}
43+
44+
val differ = AsyncListDiffer(this, differCallBack)
45+
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): LangugaeViewHolder {
46+
return LangugaeViewHolder(
47+
48+
ViewholderLanguagesBinding.inflate(
49+
LayoutInflater.from(parent.context)
50+
)
51+
)
52+
}
53+
54+
override fun onBindViewHolder(holder: LangugaeViewHolder, position: Int) {
55+
56+
val languageItem = differ.currentList[position]
57+
holder.bindView(languageItem)
58+
}
59+
60+
61+
override fun getItemCount(): Int {
62+
return differ.currentList.size
63+
}
64+
65+
66+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package io.intelligible.intelligentocr.customviews
2+
3+
import android.content.Context
4+
import android.graphics.Color
5+
import android.graphics.drawable.ColorDrawable
6+
import android.view.LayoutInflater
7+
import androidx.appcompat.app.AlertDialog
8+
import com.github.ybq.android.spinkit.sprite.Sprite
9+
import com.github.ybq.android.spinkit.style.DoubleBounce
10+
import io.intelligible.intelligentocr.databinding.CustomProgressDialogBinding
11+
12+
13+
class ProgressDialog(
14+
context: Context,
15+
private val isCancelable: Boolean = true
16+
) : AlertDialog(context) {
17+
18+
override fun show() {
19+
super.show()
20+
setProgressText()
21+
}
22+
23+
override fun onStart() {
24+
super.onStart()
25+
this.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
26+
this.setCancelable(isCancelable)
27+
}
28+
29+
override fun setCancelable(flag: Boolean) {
30+
super.setCancelable(isCancelable)
31+
}
32+
33+
private fun setProgressText() {
34+
val inflater = context.getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
35+
val view = CustomProgressDialogBinding.inflate(inflater)
36+
val doubleBounce: Sprite =DoubleBounce()
37+
view.progressBarDialog.setIndeterminateDrawable(doubleBounce)
38+
setContentView(view.root)
39+
}
40+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package io.intelligible.intelligentocr.extensions
2+
3+
import android.view.View
4+
import com.google.android.material.snackbar.Snackbar
5+
6+
fun View.snack(message :String , action: String ){
7+
Snackbar.make(this, message , Snackbar.LENGTH_SHORT).setAction(action) { }
8+
.show()
9+
10+
}

0 commit comments

Comments
 (0)