diff --git a/app/build.gradle b/app/build.gradle index eb9b80c..e5bfa71 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,11 +5,11 @@ apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { - compileSdkVersion 26 + compileSdkVersion 31 defaultConfig { applicationId "ru.evotor.egais.api.example" minSdkVersion 22 - targetSdkVersion 26 + targetSdkVersion 31 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -20,21 +20,21 @@ android { proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } + compileOptions { + sourceCompatibility 1.8 + targetCompatibility 1.8 + } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" - implementation 'com.android.support:appcompat-v7:26.1.0' - implementation 'com.android.support.constraint:constraint-layout:1.0.2' - implementation 'com.android.support:support-v4:26.1.0' - implementation 'com.android.support:recyclerview-v7:26.1.0' - implementation 'com.android.support:design:26.1.0' + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation 'androidx.recyclerview:recyclerview:1.2.1' + implementation 'androidx.appcompat:appcompat:1.3.1' + implementation 'com.google.android.material:material:1.4.0' - implementation 'com.android.support:design:26.1.0' - implementation 'com.github.evotor:egais-api:0.0.1' + implementation 'ru.evotor:egais-api:0.0.121-dev' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.1' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' } diff --git a/app/src/androidTest/java/ru/evotor/egais/api/example/ExampleInstrumentedTest.kt b/app/src/androidTest/java/ru/evotor/egais/api/example/ExampleInstrumentedTest.kt deleted file mode 100644 index 109dcd1..0000000 --- a/app/src/androidTest/java/ru/evotor/egais/api/example/ExampleInstrumentedTest.kt +++ /dev/null @@ -1,24 +0,0 @@ -package ru.evotor.egais.api.example - -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 - -import org.junit.Test -import org.junit.runner.RunWith - -import org.junit.Assert.* - -/** - * Instrumented test, which will execute on an Android device. - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -@RunWith(AndroidJUnit4::class) -class ExampleInstrumentedTest { - @Test - fun useAppContext() { - // Context of the app under test. - val appContext = InstrumentationRegistry.getTargetContext() - assertEquals("ru.evotor.egais.api.example", appContext.packageName) - } -} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 4193eba..51bcc60 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,9 @@ android:supportsRtl="true" android:theme="@style/AppTheme"> - + @@ -103,6 +105,13 @@ android:value="ru.evotor.egais.api.example.shop_commodity.ShopCommodityListActivity" /> + + + \ No newline at end of file diff --git a/app/src/main/java/ru/evotor/egais/api/example/MainActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/MainActivity.kt index 93c884f..74d4436 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/MainActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/MainActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* import ru.evotor.egais.api.example.stock_commodity.StockCommodityListActivity import ru.evotor.egais.api.example.actwriteoff.ActWriteOffListActivity @@ -10,6 +10,7 @@ import ru.evotor.egais.api.example.client_settings.ClientSettingsActivity import ru.evotor.egais.api.example.orginfo.OrgInfoListActivity import ru.evotor.egais.api.example.product.ProductListActivity import ru.evotor.egais.api.example.shop_commodity.ShopCommodityListActivity +import ru.evotor.egais.api.example.unrocessed_documents.UnprocessedDocumentsActivity import ru.evotor.egais.api.example.waybill.WaybillListActivity class MainActivity : AppCompatActivity() { @@ -45,5 +46,8 @@ class MainActivity : AppCompatActivity() { clientSettings.setOnClickListener { startActivity(Intent(this@MainActivity, ClientSettingsActivity::class.java)) } + unprocessedDocuments.setOnClickListener { + startActivity(Intent(this@MainActivity, UnprocessedDocumentsActivity::class.java)) + } } } diff --git a/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailActivity.kt index 2c1aba1..88b99ac 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example.actwriteoff import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem import kotlinx.android.synthetic.main.activity_actwriteoff_detail.* import ru.evotor.egais.api.example.R diff --git a/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailFragment.kt b/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailFragment.kt index dc75081..a3f7aea 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailFragment.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffDetailFragment.kt @@ -1,13 +1,13 @@ package ru.evotor.egais.api.example.actwriteoff import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader import kotlinx.android.synthetic.main.activity_actwriteoff_detail.* import kotlinx.android.synthetic.main.actwriteoff_detail.* import ru.evotor.egais.api.example.R @@ -24,7 +24,7 @@ class ActWriteOffDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { - class ActWriteOffLoader : AsyncTaskLoader(context) { + class ActWriteOffLoader : AsyncTaskLoader(requireContext()) { override fun loadInBackground(): ActWriteOffWithPositions? { return arguments?.let { if (it.containsKey(ActWriteOffDetailFragment.ARG_ITEM_ID)) { diff --git a/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffListActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffListActivity.kt index 5e42004..53404c2 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffListActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/actwriteoff/ActWriteOffListActivity.kt @@ -2,11 +2,11 @@ package ru.evotor.egais.api.example.actwriteoff import android.content.Intent import android.os.Bundle -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.RecyclerView +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -43,11 +43,11 @@ class ActWriteOffListActivity : AppCompatActivity(), LoaderManager.LoaderCallbac return ProductInfoLoader() } - override fun onLoadFinished(loader: Loader>?, data: Cursor?) { + override fun onLoadFinished(loader: Loader>, data: Cursor?) { (actwriteoff_list.adapter as ActWriteOffListActivity.SimpleItemRecyclerViewAdapter).swapCursor(data) } - override fun onLoaderReset(loader: Loader>?) { + override fun onLoaderReset(loader: Loader>) { (actwriteoff_list.adapter as ActWriteOffListActivity.SimpleItemRecyclerViewAdapter).swapCursor(null) } diff --git a/app/src/main/java/ru/evotor/egais/api/example/client_settings/ClientSettingsActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/client_settings/ClientSettingsActivity.kt index 42ae42b..2aae82e 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/client_settings/ClientSettingsActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/client_settings/ClientSettingsActivity.kt @@ -1,11 +1,11 @@ package ru.evotor.egais.api.example.client_settings -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.os.Bundle -import android.support.v7.widget.AppCompatButton import android.widget.Toast +import androidx.appcompat.widget.AppCompatButton import ru.evotor.egais.api.example.R -import ru.evotor.egais.api.query.ClientSettingsQuery +import ru.evotor.egais.api.query.settings.ClientSettingsQuery class ClientSettingsActivity : AppCompatActivity() { diff --git a/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailActivity.kt index b76d0dd..c38ed88 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example.orginfo import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem import kotlinx.android.synthetic.main.activity_orginfo_detail.* import ru.evotor.egais.api.example.R diff --git a/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailFragment.kt b/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailFragment.kt index f84eedb..667b2e5 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailFragment.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/orginfo/OrgInfoDetailFragment.kt @@ -1,13 +1,13 @@ package ru.evotor.egais.api.example.orginfo import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader import kotlinx.android.synthetic.main.activity_orginfo_detail.* import kotlinx.android.synthetic.main.orginfo_detail.* import ru.evotor.egais.api.example.R @@ -25,7 +25,7 @@ class OrgInfoDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { - class OrgInfoLoader : AsyncTaskLoader(context) { + class OrgInfoLoader : AsyncTaskLoader(requireContext()) { override fun loadInBackground(): OrgInfo? { return arguments?.let { if (it.containsKey(ARG_ITEM_ID)) { @@ -33,12 +33,12 @@ class OrgInfoDetailFragment : Fragment(), LoaderManager.LoaderCallbacks - cursor.moveToFirst() - cursor.getValue() - } + .clientRegId.equal(it.getString(ARG_ITEM_ID) ?: "") + .execute(context) + .let { cursor -> + cursor.moveToFirst() + cursor.getValue() + } } else { null } @@ -73,8 +73,10 @@ class OrgInfoDetailFragment : Fragment(), LoaderManager.LoaderCallbacks>?, data: Cursor?) { + override fun onLoadFinished(loader: Loader>, data: Cursor?) { (orginfo_list.adapter as SimpleItemRecyclerViewAdapter).swapCursor(data) } - override fun onLoaderReset(loader: Loader>?) { + override fun onLoaderReset(loader: Loader>) { (orginfo_list.adapter as SimpleItemRecyclerViewAdapter).swapCursor(null) } diff --git a/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailActivity.kt index 71299c0..2b432ea 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example.product import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem import kotlinx.android.synthetic.main.activity_product_detail.* import ru.evotor.egais.api.example.R diff --git a/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailFragment.kt b/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailFragment.kt index 4597981..35fa069 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailFragment.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/product/ProductDetailFragment.kt @@ -1,13 +1,13 @@ package ru.evotor.egais.api.example.product import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader import kotlinx.android.synthetic.main.activity_product_detail.* import kotlinx.android.synthetic.main.product_detail.* import ru.evotor.egais.api.example.R @@ -28,7 +28,7 @@ class ProductDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { - class ProductInfoLoader : AsyncTaskLoader(context) { + class ProductInfoLoader : AsyncTaskLoader(requireContext()) { override fun loadInBackground(): ProductInfo? { return arguments?.let { if (it.containsKey(ProductDetailFragment.ARG_ITEM_ID)) { @@ -36,12 +36,12 @@ class ProductDetailFragment : Fragment(), LoaderManager.LoaderCallbacks - cursor.moveToFirst() - cursor.getValue() - } + .alcCode.equal(it.getString(ProductDetailFragment.ARG_ITEM_ID)) + .execute(context) + .let { cursor -> + cursor.moveToFirst() + cursor.getValue() + } } else { null } @@ -76,8 +76,10 @@ class ProductDetailFragment : Fragment(), LoaderManager.LoaderCallbacks>?, data: Cursor?) { + override fun onLoadFinished(loader: Loader>, data: Cursor?) { (product_list.adapter as ProductListActivity.SimpleItemRecyclerViewAdapter).swapCursor(data) } - override fun onLoaderReset(loader: Loader>?) { + override fun onLoaderReset(loader: Loader>) { (product_list.adapter as ProductListActivity.SimpleItemRecyclerViewAdapter).swapCursor(null) } diff --git a/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailActivity.kt index 41d89c0..b6375a2 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example.shop_commodity import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem import kotlinx.android.synthetic.main.activity_orginfo_detail.* import ru.evotor.egais.api.example.R diff --git a/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailFragment.kt b/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailFragment.kt index 2d4c246..891391f 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailFragment.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityDetailFragment.kt @@ -1,10 +1,10 @@ package ru.evotor.egais.api.example.shop_commodity import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader +import androidx.fragment.app.Fragment +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -19,7 +19,7 @@ class ShopCommodityDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { - class EgaisCommodityLoader : AsyncTaskLoader(context) { + class EgaisCommodityLoader : AsyncTaskLoader(requireContext()) { override fun loadInBackground(): ShopCommodity? { return arguments?.let { if (it.containsKey(ARG_ITEM_ID)) { diff --git a/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityListActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityListActivity.kt index faf21fa..dd72fdf 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityListActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/shop_commodity/ShopCommodityListActivity.kt @@ -2,15 +2,15 @@ package ru.evotor.egais.api.example.shop_commodity import android.content.Intent import android.os.Bundle -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.RecyclerView +import androidx.appcompat.app.AppCompatActivity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader +import androidx.recyclerview.widget.RecyclerView import kotlinx.android.synthetic.main.activity_egais_commodity_list.* import kotlinx.android.synthetic.main.egais_commodity_list.* import kotlinx.android.synthetic.main.egais_commodity_list_content.view.* @@ -36,11 +36,11 @@ class ShopCommodityListActivity : AppCompatActivity(), LoaderManager.LoaderCallb return EgaisCommodityLoader() } - override fun onLoadFinished(loader: Loader>?, data: Cursor?) { + override fun onLoadFinished(loader: Loader>, data: Cursor?) { (egais_commodity_list.adapter as SimpleItemRecyclerViewAdapter).swapCursor(data) } - override fun onLoaderReset(loader: Loader>?) { + override fun onLoaderReset(loader: Loader>) { (egais_commodity_list.adapter as SimpleItemRecyclerViewAdapter).swapCursor(null) } diff --git a/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailActivity.kt index ca43407..fe0e764 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example.stock_commodity import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem import kotlinx.android.synthetic.main.activity_orginfo_detail.* import ru.evotor.egais.api.example.R diff --git a/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailFragment.kt b/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailFragment.kt index 1c7a81b..5d70c02 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailFragment.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityDetailFragment.kt @@ -1,13 +1,13 @@ package ru.evotor.egais.api.example.stock_commodity import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader +import androidx.loader.content.AsyncTaskLoader import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.loader.app.LoaderManager +import androidx.loader.content.Loader import kotlinx.android.synthetic.main.activity_egais_commodity_detail.* import kotlinx.android.synthetic.main.egais_commodity_detail.* import ru.evotor.egais.api.example.R @@ -19,7 +19,7 @@ class StockCommodityDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { - class EgaisCommodityLoader : AsyncTaskLoader(context) { + class EgaisCommodityLoader : AsyncTaskLoader(requireContext()) { override fun loadInBackground(): StockCommodity? { return arguments?.let { if (it.containsKey(ARG_ITEM_ID)) { diff --git a/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityListActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityListActivity.kt index 9beaa2b..9ee6fc1 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityListActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/stock_commodity/StockCommodityListActivity.kt @@ -2,11 +2,11 @@ package ru.evotor.egais.api.example.stock_commodity import android.content.Intent import android.os.Bundle -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader -import android.support.v7.app.AppCompatActivity -import android.support.v7.widget.RecyclerView +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader +import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -35,11 +35,11 @@ class StockCommodityListActivity : AppCompatActivity(), LoaderManager.LoaderCall return EgaisCommodityLoader() } - override fun onLoadFinished(loader: Loader>?, data: Cursor?) { + override fun onLoadFinished(loader: Loader>, data: Cursor?) { (egais_commodity_list.adapter as SimpleItemRecyclerViewAdapter).swapCursor(data) } - override fun onLoaderReset(loader: Loader>?) { + override fun onLoaderReset(loader: Loader>) { (egais_commodity_list.adapter as SimpleItemRecyclerViewAdapter).swapCursor(null) } diff --git a/app/src/main/java/ru/evotor/egais/api/example/unrocessed_documents/UnprocessedDocumentsActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/unrocessed_documents/UnprocessedDocumentsActivity.kt new file mode 100644 index 0000000..a7ea09e --- /dev/null +++ b/app/src/main/java/ru/evotor/egais/api/example/unrocessed_documents/UnprocessedDocumentsActivity.kt @@ -0,0 +1,61 @@ +package ru.evotor.egais.api.example.unrocessed_documents + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader +import androidx.recyclerview.widget.RecyclerView +import kotlinx.android.synthetic.main.activity_unprocessed_documents.* +import kotlinx.android.synthetic.main.unprocessed_document_item.view.* +import ru.evotor.egais.api.example.R +import ru.evotor.egais.api.model.document.unprocessed_document.UnprocessedDocument +import ru.evotor.egais.api.query.UnprocessedDocumentsQuery +import ru.evotor.query.Cursor +import java.util.* + +class UnprocessedDocumentsActivity : AppCompatActivity(), + LoaderManager.LoaderCallbacks> { + + override fun onCreateLoader(id: Int, args: Bundle?): Loader?> { + class UnprocessedDocumentsLoader : + AsyncTaskLoader?>(this@UnprocessedDocumentsActivity) { + override fun loadInBackground(): Cursor { + return UnprocessedDocumentsQuery().noFilters().execute(context) + } + + override fun onStartLoading() { + forceLoad() + } + } + + return UnprocessedDocumentsLoader() + } + + override fun onLoadFinished( + loader: Loader>, + data: Cursor? + ) { + (unprocessedDocumentsList.adapter as UnprocessedDocumentsRVAdapter).swapCursor(data) + } + + override fun onLoaderReset(loader: Loader>) { + (unprocessedDocumentsList.adapter as UnprocessedDocumentsRVAdapter).swapCursor(null) + } + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_unprocessed_documents) + + setSupportActionBar(toolbar) + toolbar.title = title + + setupRecyclerView(unprocessedDocumentsList) + + supportLoaderManager.initLoader(1, null, this); + } + + private fun setupRecyclerView(recyclerView: RecyclerView) { + recyclerView.adapter = UnprocessedDocumentsRVAdapter(null) + } +} diff --git a/app/src/main/java/ru/evotor/egais/api/example/unrocessed_documents/UnprocessedDocumentsRVAdapter.kt b/app/src/main/java/ru/evotor/egais/api/example/unrocessed_documents/UnprocessedDocumentsRVAdapter.kt new file mode 100644 index 0000000..f252e3a --- /dev/null +++ b/app/src/main/java/ru/evotor/egais/api/example/unrocessed_documents/UnprocessedDocumentsRVAdapter.kt @@ -0,0 +1,46 @@ +package ru.evotor.egais.api.example.unrocessed_documents + +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.widget.TextView +import androidx.recyclerview.widget.RecyclerView +import kotlinx.android.synthetic.main.unprocessed_document_item.view.* +import ru.evotor.egais.api.example.R +import ru.evotor.egais.api.model.document.unprocessed_document.UnprocessedDocument +import ru.evotor.query.Cursor +import java.text.SimpleDateFormat +import java.util.* + +class UnprocessedDocumentsRVAdapter(private var values: Cursor?) : + RecyclerView.Adapter() { + + private val simpleDateFormat = SimpleDateFormat("dd.MM.yyyy", Locale.getDefault()) + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { + val view = LayoutInflater.from(parent.context) + .inflate(R.layout.unprocessed_document_item, parent, false) + return ViewHolder(view) + } + + override fun onBindViewHolder(holder: ViewHolder, position: Int) { + values?.moveToPosition(position) + val item = values?.getValue() ?: return + holder.documentId.text = item.id + holder.content.text = simpleDateFormat.format(item.date) + } + + override fun getItemCount(): Int { + return values?.count ?: 0 + } + + fun swapCursor(cursor: Cursor?) { + values = cursor + notifyDataSetChanged() + } + + inner class ViewHolder(view: View) : RecyclerView.ViewHolder(view) { + val documentId: TextView = view.unprocessedDocumentsId + val content: TextView = view.unprocessedDocumentsContent + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailActivity.kt b/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailActivity.kt index 6235ec4..3003884 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailActivity.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailActivity.kt @@ -2,7 +2,7 @@ package ru.evotor.egais.api.example.waybill import android.content.Intent import android.os.Bundle -import android.support.v7.app.AppCompatActivity +import androidx.appcompat.app.AppCompatActivity import android.view.MenuItem import kotlinx.android.synthetic.main.activity_waybill_detail.* import ru.evotor.egais.api.example.R diff --git a/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailFragment.kt b/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailFragment.kt index 0d119b4..7c4b92d 100644 --- a/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailFragment.kt +++ b/app/src/main/java/ru/evotor/egais/api/example/waybill/WaybillDetailFragment.kt @@ -1,13 +1,13 @@ package ru.evotor.egais.api.example.waybill import android.os.Bundle -import android.support.v4.app.Fragment -import android.support.v4.app.LoaderManager -import android.support.v4.content.AsyncTaskLoader -import android.support.v4.content.Loader import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.fragment.app.Fragment +import androidx.loader.app.LoaderManager +import androidx.loader.content.AsyncTaskLoader +import androidx.loader.content.Loader import kotlinx.android.synthetic.main.activity_waybill_detail.* import kotlinx.android.synthetic.main.waybill_detail.* import ru.evotor.egais.api.example.R @@ -23,7 +23,8 @@ import java.util.* * in two-pane mode (on tablets) or a [WaybillDetailActivity] * on handsets. */ -class WaybillDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { +class WaybillDetailFragment : Fragment(), + LoaderManager.LoaderCallbacks { data class WayBillWithPositions(val wayBill: WayBill?, val positions: List?) @@ -33,23 +34,24 @@ class WaybillDetailFragment : Fragment(), LoaderManager.LoaderCallbacks { - class ProductInfoLoader : AsyncTaskLoader(context) { + class ProductInfoLoader : AsyncTaskLoader(requireContext()) { override fun loadInBackground(): WayBillWithPositions? { return arguments?.let { if (it.containsKey(WaybillDetailFragment.ARG_ITEM_ID)) { - val uuid = it.getString(WaybillDetailFragment.ARG_ITEM_ID).let { UUID.fromString(it) } + val uuid = it.getString(WaybillDetailFragment.ARG_ITEM_ID) + .let { UUID.fromString(it) } WayBillWithPositions( - WayBillQuery() - .uuid.equal(uuid) - .execute(context) - .let { cursor -> - cursor.moveToFirst() - cursor.getValue() - }, - WayBillPositionQuery() - .wayBillUuid.equal(uuid) - .execute(context) - .toList() + WayBillQuery() + .uuid.equal(uuid) + .execute(context) + .let { cursor -> + cursor.moveToFirst() + cursor.getValue() + }, + WayBillPositionQuery() + .wayBillUuid.equal(uuid) + .execute(context) + .toList() ) } else { null @@ -65,7 +67,10 @@ class WaybillDetailFragment : Fragment(), LoaderManager.LoaderCallbacks, data: WayBillWithPositions?) { + override fun onLoadFinished( + loader: Loader, + data: WayBillWithPositions? + ) { updateData(data) } @@ -85,8 +90,10 @@ class WaybillDetailFragment : Fragment(), LoaderManager.LoaderCallbacks>?, data: Cursor?) { + override fun onLoadFinished(loader: Loader>, data: Cursor?) { (waybill_list.adapter as WaybillListActivity.SimpleItemRecyclerViewAdapter).swapCursor(data) } - override fun onLoaderReset(loader: Loader>?) { + override fun onLoaderReset(loader: Loader>) { (waybill_list.adapter as WaybillListActivity.SimpleItemRecyclerViewAdapter).swapCursor(null) } diff --git a/app/src/main/res/layout-w900dp/actwriteoff_list.xml b/app/src/main/res/layout-w900dp/actwriteoff_list.xml index bf00fed..9c85ed3 100644 --- a/app/src/main/res/layout-w900dp/actwriteoff_list.xml +++ b/app/src/main/res/layout-w900dp/actwriteoff_list.xml @@ -17,7 +17,7 @@ --> - - - - - - - - - + - + - - + diff --git a/app/src/main/res/layout/activity_actwriteoff_list.xml b/app/src/main/res/layout/activity_actwriteoff_list.xml index f0763e7..318bdf8 100644 --- a/app/src/main/res/layout/activity_actwriteoff_list.xml +++ b/app/src/main/res/layout/activity_actwriteoff_list.xml @@ -1,5 +1,5 @@ - - - - + - + diff --git a/app/src/main/res/layout/activity_client_settings.xml b/app/src/main/res/layout/activity_client_settings.xml index 2cd8522..b072689 100644 --- a/app/src/main/res/layout/activity_client_settings.xml +++ b/app/src/main/res/layout/activity_client_settings.xml @@ -1,12 +1,12 @@ - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_egais_commodity_detail.xml b/app/src/main/res/layout/activity_egais_commodity_detail.xml index 2e50b40..e5d96d2 100644 --- a/app/src/main/res/layout/activity_egais_commodity_detail.xml +++ b/app/src/main/res/layout/activity_egais_commodity_detail.xml @@ -1,5 +1,5 @@ - - - - - + - + - - + diff --git a/app/src/main/res/layout/activity_egais_commodity_list.xml b/app/src/main/res/layout/activity_egais_commodity_list.xml index 02c9aa1..c26642b 100644 --- a/app/src/main/res/layout/activity_egais_commodity_list.xml +++ b/app/src/main/res/layout/activity_egais_commodity_list.xml @@ -1,25 +1,24 @@ - + android:fitsSystemWindows="true"> - - - + - + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index b6756e6..5bd4666 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,5 @@ - + android:text="@string/main_a_btn_client_settings" /> + +