Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Change mainactivity to kotlin #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions app/src/main/java/rrdl/linuxpackagefinder/MainActivity.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
package rrdl.linuxpackagefinder

import android.content.DialogInterface
import android.support.v7.app.AlertDialog
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.text.Editable
import android.text.TextWatcher
import android.view.View
import android.widget.AdapterView
import android.widget.ArrayAdapter
import android.widget.EditText
import android.widget.ListView
import android.widget.Toast

import java.io.BufferedReader
import java.io.IOException
import java.io.InputStream
import java.io.InputStreamReader
import java.util.ArrayList

class MainActivity : AppCompatActivity() {
internal var l: ListView
internal var S: EditText

@Override
protected fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

Toast.makeText(getApplicationContext(), "Total available packages : 57957", Toast.LENGTH_SHORT).show()

try {

val stream = getBaseContext().getAssets().open("packages.txt")
val `in` = BufferedReader(InputStreamReader(stream, "UTF-8"))
var str: String
val lines = ArrayList()

while ((str = `in`.readLine()) != null) {
lines.add(str)
}
`in`.close()
l = findViewById(R.id.List) as ListView
val adapter = ArrayAdapter(getApplicationContext(), R.layout.item, R.id.textView, lines)
l.setAdapter(adapter)
l.setTextFilterEnabled(true)
l.setOnItemClickListener(object : AdapterView.OnItemClickListener() {
@Override
fun onItemClick(parent: AdapterView<*>, view: View, position: Int, id: Long) {
val Bld = AlertDialog.Builder(this@MainActivity)
Bld.setMessage("To install this package , in terminal write : \n sudo apt-get install " + l.getItemAtPosition(position).toString())
Bld.setCancelable(false)
Bld.setPositiveButton("OK", object : DialogInterface.OnClickListener() {
fun onClick(dialog: DialogInterface, id: Int) {
dialog.cancel()
}
})
val A = Bld.create()
A.show()

}
})
S = findViewById(R.id.editText) as EditText
S.addTextChangedListener(object : TextWatcher() {
@Override
fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {

}

@Override
fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
adapter.getFilter().filter(S.getText().toString())
}

@Override
fun afterTextChanged(s: Editable) {

}
})

} catch (e: IOException) {
Log.i("exception", e.toString())
}
}
}