Best Fuel code snippet using com.github.kittinunf.fuel.util.DecodeStream
Kkiapay.kt
Source:Kkiapay.kt  
1package co.opensi.kkiapay.uikit2import android.app.Activity3import android.content.Context4import android.content.Intent5import android.graphics.Bitmap6import android.graphics.BitmapFactory7import android.util.Log8import androidx.annotation.ColorRes9import androidx.annotation.RawRes10import androidx.appcompat.app.AppCompatActivity11import androidx.core.content.ContextCompat12import co.opensi.kkiapay.Error13import co.opensi.kkiapay.MomoPay14import co.opensi.kkiapay.STATUS15import co.opensi.kkiapay.Transaction16import co.opensi.kkiapay.uikit.KKiapayApi.Companion.checkTransactionStatus17import co.opensi.kkiapay.uikit.Me.Companion.KKIAPAY_REQUEST_CODE18import co.opensi.kkiapay.uikit.Me.Companion.KKIAPAY_URL19import co.opensi.kkiapay.uikit.SandBoxKKiapayApi.Companion.sandboxCheckTransactionStatus20import com.github.kittinunf.fuel.Fuel21import com.github.kittinunf.fuel.core.FileDataPart22import com.github.kittinunf.fuel.core.HeaderValues23import com.github.kittinunf.fuel.core.Method24import com.github.kittinunf.fuel.core.Parameters25import com.github.kittinunf.fuel.core.requests.upload26import com.github.kittinunf.fuel.util.FuelRouting27import com.google.gson.Gson28import org.apache.commons.codec.binary.Base6429import org.json.JSONObject30import java.io.ByteArrayInputStream31import java.io.ByteArrayOutputStream32import java.io.File33import java.io.FileOutputStream34import java.util.*35/**36 * @author Armel FAGBEDJI ( armel.fagbedji@opensi.co )37 * created  at 01/03/201938 */39object Kkiapay{40    private lateinit var me: Me41    /**42     * Initialize SDK.43     * This function didn't check your API keys but keep it for future requests44     *  @param apiKey  developer prod / test API keys check https://kkiapay.me45     *  @param context  Application Context46     *  @param sdkConfig  SDK configurations. It is optional47     */48    @JvmOverloads49    @JvmStatic50    fun init(context: Context,51             apiKey:String,52             sdkConfig: SdkConfig = SdkConfig()) {53        me = Me(context, apiKey, sdkConfig)54    }55    /**56     * Recover the Kkiapay instance to perform actions57     * @return [Me] Instance of Kkiapay58     * @exception [IllegalAccessException] If the SDK was not initialized before use59     */60    @JvmStatic61    fun get(): Me {62        if (!Kkiapay::me.isInitialized)63            throw IllegalAccessException("You must initialise Kkiapay SDK in the onCreate methode of your App's" +64                    " Application first")65        return me66    }67}68class Me internal constructor(context: Context, private val apiKey: String, private val sdkConfig: SdkConfig) {69    private var requestPaymentAction: RequestPaymentAction? = null70    private var sdkListener: ((STATUS, String?) -> Unit)? = null71    /**72     * MomoPay Instance73     */74    val momoPay: MomoPay75    init {76        KKiapayApi.apiKey = apiKey77        sdkConfig.run {78            convertColorToString(context)79            convertImageResToImageUrl(context)80        }81        momoPay = MomoPay(apiKey)82    }83    /**84     * Make a payment request85     * @param activity Payment activity86     * @param amount Amount to be paid87     * @param reason Payment description88     * @param name The name of the client89     * @param phone The customer's phone number90     * @param sandbox Make request on sandbox91     * @param data The callback redirect data92     * @exception [IllegalAccessException] If a listener was not configured on the UI-SDK93     */94    @JvmOverloads95    fun requestPayment(activity: AppCompatActivity,96                       amount: String,97                       reason: String,98                       name: String,99                       phone: String = "",100                       callback: String = KKIAPAY_REDIRECT_URL,101                       data: String = "",102                       sandbox: Boolean = sdkConfig.enableSandbox103                       ){104        sdkListener ?: throw IllegalAccessException("Sdk Listener is null, you must setup one before the call of" +105                " \"requestPayment\" methode")106        sdkConfig.enableSandbox = sandbox107        KKIAPAY_REDIRECT_URL = callback108        val user = User(amount, reason, name, apiKey, callback, phone, sandbox = sandbox, data = data)109        requestPaymentAction = RequestPaymentAction(user)110        requestPaymentAction?.invoke(activity, sdkConfig)111    }112    /**113     * Configure a listener for the UI-SDK, to manage the information returned by the latter114     * @param listener mandatory115     */116    fun setListener(listener: (STATUS, String?) -> Unit): Me {117        sdkListener = listener118        return this119    }120    /**121     * Remove UI-SDK listener122     */123    fun removeSdkListener(){124        sdkListener = null125    }126    /**127     * To call in onActivityResult of your activity to manage the return response128     * the UI-SDK using the [sdkListener] which was initially informed129     */130    fun handleActivityResult(requestCode: Int, resultCode: Int, data: Intent?){131        if (requestCode == KKIAPAY_REQUEST_CODE && resultCode == Activity.RESULT_OK){132            data?.run {133                if (hasExtra(KKIAPAY_TRANSACTION_ID)){134                    val transactionId = getStringExtra(KKIAPAY_TRANSACTION_ID)135                    transactionId?.let {136                        (if (sdkConfig.enableSandbox) ::sandboxCheckTransactionStatus137                        else ::checkTransactionStatus).invoke(it)138                                .responseString { _, _, result ->139                                    result.fold({ resutlString ->140                                        val transaction = Gson().fromJson<Transaction>(resutlString, Transaction::class.java)141                                        sdkListener?.invoke(when(transaction.status){142                                            "SUCCESS" -> STATUS.SUCCESS143                                            "INVALID_TRANSACTION" -> STATUS.INVALID_TRANSACTION144                                            "TRANSACTION_NOT_FOUND" -> STATUS.TRANSACTION_NOT_FOUND145                                            "FAILED" -> STATUS.FAILED146                                            else -> STATUS.UNKNOWN147                                        },148                                                transaction.transactionId)149                                    }){fuelError ->150                                        Log.i("Kkiapay.me", fuelError.toString())151                                        val theError = Gson().fromJson<Error>(String(fuelError.errorData), Error::class.java)152                                        theError?.let {error ->153                                            sdkListener?.invoke(when(error.status) {154                                                4001 -> STATUS.INVALID_PHONE_NUMBER155                                                4003 -> STATUS.INVALID_API_KEY156                                                else -> STATUS.FAILED157                                            }, null)158                                        } ?: kotlin.run {159                                            sdkListener?.invoke(STATUS.FAILED, null)160                                        }161                                    }162                                }163                    } ?: kotlin.run {164                        sdkListener?.invoke(STATUS.SUCCESS, null)165                    }166                } else167                    sdkListener?.invoke(STATUS.SUCCESS, null)168            } ?: let {169                sdkListener?.invoke(STATUS.SUCCESS, null)170            }171        } else{172            sdkListener?.invoke(STATUS.FAILED, null)173        }174    }175    companion object {176        internal const val KKIAPAY_URL = "https://widget-v2.kkiapay.me"177        internal var KKIAPAY_REDIRECT_URL = "http://redirect.kkiapay.me"178        const val KKIAPAY_REQUEST_CODE = 0xABC179        internal const val KKIAPAY_TRANSACTION_ID = "me.kkiapay.uikit.KKIAPAY_TRANSACTION_ID"180    }181}182/**183 * Configure and customize the UI-SDK.184 * Possibility to configure the color [themeColor]185 * and the shop logo [imageResource]186 */187data class SdkConfig(@RawRes private val imageResource: Int = -1, @ColorRes internal val themeColor: Int = -1, var enableSandbox: Boolean = false){188    internal var imageUrl: String = ""189    internal var color: String = ""190    internal fun convertColorToString(context: Context){191        if (themeColor != -1){192            color = String.format("#%06x", ContextCompat.getColor(context, themeColor) and 0xffffff)193            Log.i("Kkiapay.me", color)194        }195    }196    internal fun convertImageResToImageUrl(context: Context){197        if (imageResource != -1){198            val stream = context.resources.openRawResource(imageResource)199            var bitmap = BitmapFactory.decodeStream(stream)200            bitmap = reduceBitmap(bitmap)201            val file = File(context.cacheDir, "${UUID.randomUUID()}.png")202            FileOutputStream(file).use {203                bitmap.compress(Bitmap.CompressFormat.PNG, 0, it)204                it.flush()205            }206            KKiapayApi.uploadFile(file)207                    ?.responseString { _, _, result ->208                        result.fold({resutlString ->209                            val uploadKey = Gson().fromJson<List<Map<String, String>>>(resutlString, List::class.java)210                                    .first()["fd"]?.trim()211                            imageUrl = KKiapayApi.getUploadedFile(uploadKey)?.url?.toString() ?: ""212                        }){213                            Log.e("Kkiapay.me", it.toString())214                        }215                    }216        }217    }218    private fun reduceBitmap(original: Bitmap): Bitmap {219        val out = ByteArrayOutputStream()220        original.compress(Bitmap.CompressFormat.WEBP, 100, out)221        return BitmapFactory.decodeStream(ByteArrayInputStream(out.toByteArray()))222    }223}224internal class RequestPaymentAction(private val user: User) {225    operator fun invoke(activity: AppCompatActivity, sdkConfig: SdkConfig){226        activity.startActivityForResult(227                Intent(activity, CustomTabActivity::class.java).apply {228                    putExtra(CustomTabActivity.EXTRA_URL,229                            "$KKIAPAY_URL/?=${user.toBase64(activity.applicationContext, sdkConfig)}")230                    putExtra(CustomTabActivity.EXTRA_THEME,231                            sdkConfig.themeColor)232                }, KKIAPAY_REQUEST_CODE)233    }234}235internal data class User(val amount: String = "",236                         val reason: String = "",237                         val name: String = "",238                         val key: String = "",239                         val callback: String,240                         val phone: String = "",241                         val sdk: String = "android",242                         val theme: String = "",243                         val url: String = "",244                         val sandbox: Boolean,245                         val host: String? = "",246                         val data: String = ""247) {248    fun toBase64(context: Context, sdkConfig: SdkConfig) : String{249        val preConvertion = this.copy(250                theme = sdkConfig.color,251                url = sdkConfig.imageUrl,252                host = context.applicationContext.packageName253        )254        val userJson = Gson().toJson(preConvertion).toString()255        return String(Base64.encodeBase64(userJson.toByteArray()))256    }257}258private sealed class SandBoxKKiapayApi : FuelRouting {259    override val basePath: String260        get() = "https://api-sandbox.kkiapay.me"261    override val headers: Map<String, HeaderValues>?262        get() = mapOf("x-api-key" to listOf(KKiapayApi.apiKey))263    override val method: Method264        get() = Method.POST265    override val body: String?266        get() = null267    override val bytes: ByteArray?268        get() = null269    override val params: Parameters?270        get() = emptyList()271    private class SandBoxCheckTansactionStatus(private val transactionId: String): SandBoxKKiapayApi() {272        override val path: String273            get() = "/api/v1/transactions/status"274        override val headers: Map<String, HeaderValues>?275            get() = super.headers?.plus("Content-Type" to listOf("application/json"))276        override val body: String?277            get() = JSONObject().putOpt("transactionId", transactionId).toString()278    }279    companion object {280        internal fun sandboxCheckTransactionStatus(transactionId: String) =281                Fuel.request(SandBoxCheckTansactionStatus(transactionId))282    }283}284private sealed class KKiapayApi : FuelRouting {285    override val basePath: String286        get() = "https://api.kkiapay.me"287    override val headers: Map<String, HeaderValues>?288        get() = mapOf("x-api-key" to listOf(apiKey))289    override val method: Method290        get() = Method.POST291    override val body: String?292        get() = null293    override val bytes: ByteArray?294        get() = null295    override val params: Parameters?296        get() = emptyList()297    private class UploadFile(private val classification: String = "android_client_store_icon"): KKiapayApi(){298        override val path: String299            get() = "/utils/upload"300        override val params: List<Pair<String, Any?>>?301            get() = listOf("type" to classification)302    }303    private class CheckTansactionStatus(private val transactionId: String): KKiapayApi() {304        override val path: String305            get() = "/api/v1/transactions/status"306        override val headers: Map<String, HeaderValues>?307            get() = super.headers?.plus("Content-Type" to listOf("application/json"))308        override val body: String?309            get() = JSONObject().putOpt("transactionId", transactionId).toString()310    }311    private class GetUploadedFile(private val fileKey: String): KKiapayApi() {312        override val path: String313            get() = "/utils/file/$fileKey"314        override val method: Method315            get() = Method.GET316    }317    companion object {318        internal lateinit var apiKey: String319        internal fun uploadFile(file: File?) =320                file?.run { Fuel.request(UploadFile())321                        .upload()322                        .add { FileDataPart(this, name = "file") } }323        internal fun checkTransactionStatus(transactionId: String) =324                Fuel.request(CheckTansactionStatus(transactionId))325        internal fun getUploadedFile(fileKey: String?) =326                fileKey?.run{327                    Fuel.request(GetUploadedFile(fileKey))328                }329    }330}...AdminActivity.kt
Source:AdminActivity.kt  
1package com.example.projecthomedecor2import android.Manifest3import android.R.attr4import android.app.Activity5import android.content.ClipData6import android.content.ClipboardManager7import android.content.Context8import android.content.Intent9import android.content.pm.PackageManager10import android.graphics.Bitmap11import android.graphics.BitmapFactory12import android.net.Uri13import java.io.ByteArrayOutputStream14import android.opengl.ETC1.encodeImage15import android.os.Build16import android.os.Bundle17import android.util.Base6418import android.view.MenuItem19import android.view.View20import android.widget.Toast21import androidx.appcompat.app.AppCompatActivity22import com.github.kittinunf.fuel.Fuel23import com.github.kittinunf.fuel.core.Headers24import kotlinx.android.synthetic.main.fragment_add_items_admin.*25import kotlinx.android.synthetic.main.fragment_login.*26import java.io.File27import java.io.InputStream28class AdminActivity : AppCompatActivity() {29    override fun onCreate(savedInstanceState: Bundle?) {30        super.onCreate(savedInstanceState)31        setContentView(R.layout.activity_admin)32        if (savedInstanceState == null) {33            supportFragmentManager.beginTransaction().add(34                R.id.adminframe,35                AdminMenuFragment()36            ).addToBackStack(null).commit()37        }38    }39    var imgnum: String? = null40    var img1Uri: Uri? = null41    var img2Uri: Uri? = null42    var img3Uri: Uri? = null43    fun goaddproductstock(item: MenuItem) {44        supportFragmentManager.beginTransaction().add(45            R.id.adminframe,46            AddItemsAdminFragment()47        ).commit()48    }49    fun addimage1(view: View) {50        imgnum = "pic1"51        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {52            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) ==53                PackageManager.PERMISSION_DENIED54            ) {55                //permission denied56                val permissions = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE);57                //show popup to request runtime permission58                requestPermissions(permissions, PERMISSION_CODE);59            } else {60                //permission already granted61                pickImageFromGallery();62            }63        } else {64            //system OS is < Marshmallow65            pickImageFromGallery();66        }67    }68    fun addimage2(view: View) {69        imgnum = "pic2"70        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {71            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) ==72                PackageManager.PERMISSION_DENIED73            ) {74                //permission denied75                val permissions = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE);76                //show popup to request runtime permission77                requestPermissions(permissions, PERMISSION_CODE);78            } else {79                //permission already granted80                pickImageFromGallery();81            }82        } else {83            //system OS is < Marshmallow84            pickImageFromGallery();85        }86    }87    fun addimage3(view: View) {88        imgnum = "pic3"89        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {90            if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) ==91                PackageManager.PERMISSION_DENIED92            ) {93                //permission denied94                val permissions = arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE);95                //show popup to request runtime permission96                requestPermissions(permissions, PERMISSION_CODE);97            } else {98                //permission already granted99                pickImageFromGallery();100            }101        } else {102            //system OS is < Marshmallow103            pickImageFromGallery();104        }105    }106    private fun pickImageFromGallery() {107        //Intent to pick image108        val intent = Intent(Intent.ACTION_PICK)109        intent.type = "image/*"110        startActivityForResult(intent, IMAGE_PICK_CODE)111    }112    companion object {113        //image pick code114        private val IMAGE_PICK_CODE = 1000;115        //Permission code116        private val PERMISSION_CODE = 1001;117    }118    //handle requested permission result119    override fun onRequestPermissionsResult(120        requestCode: Int,121        permissions: Array<out String>,122        grantResults: IntArray123    ) {124        when (requestCode) {125            PERMISSION_CODE -> {126                if (grantResults.size > 0 && grantResults[0] ==127                    PackageManager.PERMISSION_GRANTED128                ) {129                    //permission from popup granted130                    pickImageFromGallery()131                } else {132                    //permission from popup denied133                    Toast.makeText(this, "Permission denied", Toast.LENGTH_SHORT).show()134                }135            }136        }137    }138    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {139        super.onActivityResult(requestCode, resultCode, data)140        if (resultCode == Activity.RESULT_OK && requestCode == IMAGE_PICK_CODE) {141            if (imgnum == "pic1") {142                imageView.setImageURI(data?.data)143                img1Uri = data?.data144            }145            if (imgnum == "pic2") {146                image2.setImageURI(data?.data)147                img2Uri = data?.data148            }149            if (imgnum == "pic3") {150                image3.setImageURI(data?.data)151                img3Uri = data?.data152            }153            var mos = data?.data154            var a = mos?.path as String155            DatabaseApi156        }157    }158    private fun encodeImage(bm: Bitmap): String? {159        val baos = ByteArrayOutputStream()160        bm.compress(Bitmap.CompressFormat.JPEG, 100, baos)161        val b = baos.toByteArray()162        return Base64.encodeToString(b, Base64.DEFAULT)163    }164    fun btn_delete_image1(view: View) {165        imageView.setImageResource(0)166        img1Uri = null167    }168    fun btn_delete_image2(view: View) {169        image2.setImageResource(0)170        img2Uri = null171    }172    fun btn_delete_image3(view: View) {173        image3.setImageResource(0)174        img3Uri = null175    }176    fun btn_save_add_product(view: View) {177        if (img1Uri == null) {178            //Toast.makeText(applicationContext, "มึà¸à¸à¹à¸à¸à¹à¸ªà¹à¸£à¸¹à¸à¹à¸£à¸à¸à¸°", Toast.LENGTH_LONG).show()179            return180        }181        var typeArray = arrayListOf<Int>()182        var type_product_add: String = ""183        if (cb_bedroom.isChecked) {184            typeArray.add(1)185            type_product_add += " " + cb_bedroom.text;186        }187        if (cb_workroom.isChecked) {188            typeArray.add(2)189            type_product_add += " " + cb_workroom.text;190        }191        if (cb_chickenroom.isChecked) {192            typeArray.add(3)193            type_product_add += " " + cb_chickenroom.text;194        }195        if (cb_storeroom.isChecked) {196            typeArray.add(4)197            type_product_add += " " + cb_storeroom.text;198        }199        if (cb_livingroom.isChecked) {200            typeArray.add(5)201            type_product_add += " " + cb_livingroom.text;202        }203        if (cb_bathroom.isChecked) {204            typeArray.add(6)205            type_product_add += " " + cb_bathroom.text;206        }207        if (cb_drawingroom.isChecked) {208            typeArray.add(7)209            type_product_add += " " + cb_drawingroom.text;210        }211        if (cb_foodroom.isChecked) {212            typeArray.add(8)213            type_product_add += " " + cb_foodroom.text;214        }215        var type_product_add_new =216            if (type_product_add.isNotEmpty()) type_product_add else "Please select type product."217        var name_product = add_nameitem.text.toString()218        var price_product = add_priceitem.text.toString().toInt()219        var balance_stock = add_warehouseitem.text.toString().toInt()220        var imgLink = arrayListOf<Int>()221        if (img1Uri != null) {222            imgLink.add(1)223        }224        if (img2Uri != null) {225            imgLink.add(2)226        }227        if (img3Uri != null) {228            imgLink.add(3)229        }230        var productid = DatabaseApi.addProduct(231            name_product,232            price_product.toFloat(),233            imgLink.toString(),234            typeArray.toString(),235            balance_stock236        )237        if (img1Uri != null) {238            val imageStream: InputStream? = contentResolver.openInputStream(img1Uri!!)239            val selectedImage = BitmapFactory.decodeStream(imageStream)240            val encodedImage = encodeImage(selectedImage) as String241            Fuel.post("http://pc.mosmai.me:10080/product.php?tokenid=${Global.accessToken.toString()}&product_id=${productid}&img_num=1")242                .header(Headers.CONTENT_TYPE, "application/json")243                .body("${encodedImage}")244                .also { println(it) }245                .response { result ->246                    Toast.makeText(247                        applicationContext,248                        result.toString(),249                        Toast.LENGTH_LONG250                    ).show()251                }252        }253        if (img2Uri != null) {254            val imageStream: InputStream? = contentResolver.openInputStream(img2Uri!!)255            val selectedImage = BitmapFactory.decodeStream(imageStream)256            val encodedImage = encodeImage(selectedImage) as String257            Fuel.post("http://pc.mosmai.me:10080/product.php?tokenid=${Global.accessToken.toString()}&product_id=${productid}&img_num=2")258                .header(Headers.CONTENT_TYPE, "application/json")259                .body("${encodedImage}")260                .also { println(it) }261                .response { result ->262                    Toast.makeText(263                        applicationContext,264                        result.toString(),265                        Toast.LENGTH_LONG266                    ).show()267                }268        }269        if (img3Uri != null) {270            val imageStream: InputStream? = contentResolver.openInputStream(img3Uri!!)271            val selectedImage = BitmapFactory.decodeStream(imageStream)272            val encodedImage = encodeImage(selectedImage) as String273            Fuel.post("http://pc.mosmai.me:10080/product.php?tokenid=${Global.accessToken.toString()}&product_id=${productid}&img_num=3")274                .header(Headers.CONTENT_TYPE, "application/json")275                .body("${encodedImage}")276                .also { println(it) }277                .response { result ->278                    Toast.makeText(279                        applicationContext,280                        result.toString(),281                        Toast.LENGTH_LONG282                    ).show()283                }284        }285        supportFragmentManager.popBackStack()286    }287    fun goeditproducestock(item: MenuItem) {288        supportFragmentManager.beginTransaction().add(289            R.id.adminframe,290            SearchEditItemAdminFragment()291        ).addToBackStack(null).commit()292    }293    fun gocheckorder(item: MenuItem) {294        supportFragmentManager.beginTransaction().add(295            R.id.adminframe,296            CheckStatusOrderAdminFragment()297        ).addToBackStack(null).commit()298    }299}...UpdateRecommendationsService.kt
Source:UpdateRecommendationsService.kt  
1package com.hackathon.iitb.services2import android.app.*3import android.content.Context4import android.content.Intent5import android.util.Log6import com.hackathon.iitb.model.Show7import android.support.v4.app.NotificationCompat8import com.hackathon.iitb.R9import java.io.IOException10import android.graphics.BitmapFactory11import android.graphics.Bitmap12import android.preference.PreferenceManager13import android.util.Base6414import com.github.kittinunf.fuel.Fuel15import com.github.kittinunf.fuel.core.FuelManager16import com.github.kittinunf.fuel.core.Request17import com.google.gson.Gson18import com.google.gson.reflect.TypeToken19import com.hackathon.iitb.DetailsActivity20import com.hackathon.iitb.model.password21import com.hackathon.iitb.model.server22import com.hackathon.iitb.model.username23import com.hackathon.iitb.receivers.MyReceiver24import org.jetbrains.anko.runOnUiThread25import java.net.HttpURLConnection26import java.net.URL27class UpdateRecommendationsService : IntentService("UpdateRecommendationsService") {28    private val MAX_RECOMMENDATIONS = 329    private val mNotificationManager by lazy { getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager }30    override fun onHandleIntent(intent: Intent?) {31        val prefs = PreferenceManager.getDefaultSharedPreferences(this)32        val value = Gson().fromJson<ArrayList<Long>>(33            prefs.getString("ignore_list", "[]"),34            object : TypeToken<ArrayList<Long>>() {}.type35        )36        val base64 = Base64.encodeToString("$username:$password".toByteArray(), Base64.NO_WRAP)37        FuelManager.instance.baseHeaders = mapOf("Authorization" to "Basic $base64")38        val x: Request = Fuel.get("http://$server/api/recommendation/shows/?format=json")39        x.response { _, _, result ->40            val z = String(result.get())41            Log.d("suthar", "Body: $z")42            val recommendations = Gson().fromJson<ArrayList<Show>>(z, object : TypeToken<ArrayList<Show>>() {}.type)43            var count = 044            for (show in recommendations) {45                if (value.contains(show.id)) {46                    Log.d("suthar", "Ignored Show")47                    continue48                }49                val image = getBitmapFromURL(show.image_url)50                runOnUiThread {51                    val priority = MAX_RECOMMENDATIONS - count52                    val builder =53                        NotificationCompat.Builder(applicationContext, "What's New")54                            .setContentTitle(show.name)55                            .setContentText("Watch Now")56                            .setPriority(priority)57                            .setLocalOnly(true)58                            .setAutoCancel(true)59                            .setColor(applicationContext.resources.getColor(R.color.fastlane_background))60                            .setCategory(Notification.CATEGORY_RECOMMENDATION)61                            .setLargeIcon(image)62                            .setStyle(NotificationCompat.BigPictureStyle().bigPicture(image))63                            .setSmallIcon(android.R.drawable.ic_menu_report_image) //Change this icon64                            .setContentIntent(buildPendingIntent(show))65                            .addAction(66                                android.R.drawable.alert_light_frame,67                                "Ignore",68                                buildPendingIntent("ignore", show)69                            )70                            .addAction(71                                android.R.drawable.alert_light_frame,72                                "Remind Later",73                                buildPendingIntent("remind", show)74                            )75                    //.setExtras(extras)76                    val notification = builder.build()77                    mNotificationManager.notify(show.id.toInt(), notification)78                }79                if (++count >= MAX_RECOMMENDATIONS) {80                    break81                }82            }83        }84    }85    private fun buildPendingIntent(show: Show): PendingIntent {86        val detailsIntent = Intent(this, DetailsActivity::class.java)87        detailsIntent.putExtra("Movie", show)88        val stackBuilder = TaskStackBuilder.create(this)89        stackBuilder.addParentStack(DetailsActivity::class.java)90        stackBuilder.addNextIntent(detailsIntent)91        // Ensure a unique PendingIntents, otherwise all92        // recommendations end up with the same PendingIntent93        detailsIntent.action = java.lang.Long.toString(show.id)94        return stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)95    }96    private fun buildPendingIntent(action: String, show: Show): PendingIntent {97        val intent = Intent(this, MyReceiver::class.java)98        intent.action = action99        intent.putExtra("show", show)100        return PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)101    }102    private fun getBitmapFromURL(src: String): Bitmap? {103        return try {104            val url = URL(src)105            val connection = url.openConnection() as HttpURLConnection106            connection.doInput = true107            connection.connect()108            val input = connection.inputStream109            BitmapFactory.decodeStream(input)110        } catch (e: IOException) {111            // Log exception112            null113        }114    }115}...MainActivity.kt
Source:MainActivity.kt  
1package com.monolith.picturetest2import android.content.Intent3import android.graphics.Bitmap4import android.graphics.BitmapFactory5import android.os.Bundle6import android.os.Handler7import android.util.Base648import android.widget.Button9import android.widget.ImageView10import android.widget.Toast11import androidx.appcompat.app.AppCompatActivity12import com.github.kittinunf.fuel.httpPost13import com.github.kittinunf.result.Result14import java.io.ByteArrayOutputStream15import java.io.File16class MainActivity : AppCompatActivity() {17    var image: Bitmap? = null18    override fun onCreate(savedInstanceState: Bundle?) {19        super.onCreate(savedInstanceState)20        setContentView(R.layout.activity_main)21        var pictureButton: Button = findViewById(R.id.btnLoad)22        var clearButton: Button = findViewById(R.id.btnClear)23        var convertButton: Button = findViewById(R.id.btnConvert)24        var reconvertButton: Button = findViewById(R.id.btnReconvert)25        var connectButton: Button = findViewById(R.id.btnConnect)26        //ãã¿ã³ãæ¼ããããã®ã£ã©ãªã¼ãéã27        pictureButton.setOnClickListener {28            val intent = Intent(Intent.ACTION_OPEN_DOCUMENT).apply {29                addCategory(Intent.CATEGORY_OPENABLE)30                type = "image/*"31            }32            startActivityForResult(intent, READ_REQUEST_CODE)33        }34        clearButton.setOnClickListener {35            ImageClear()36        }37        convertButton.setOnClickListener {38            Convert()39        }40        reconvertButton.setOnClickListener {41            ReConvert()42        }43        connectButton.setOnClickListener {44            Connect()45        }46    }47    //READ_REQUEST_CODEã®å®ç¾©48    companion object {49        private const val READ_REQUEST_CODE: Int = 4250    }51    //åçã鏿ãããå¾ã®åã52    override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) {53        super.onActivityResult(requestCode, resultCode, resultData)54        if (resultCode != RESULT_OK) {55            return56        }57        when (requestCode) {58            READ_REQUEST_CODE -> {59                try {60                    resultData?.data?.also { uri ->61                        val inputStream = contentResolver?.openInputStream(uri)62                        image = Bitmap.createScaledBitmap(63                            BitmapFactory.decodeStream(inputStream),64                            250,65                            250,66                            true67                        )68                        val imageView = findViewById<ImageView>(R.id.imageView)69                        imageView.setImageBitmap(image)70                    }71                } catch (e: Exception) {72                    Toast.makeText(this, "ã¨ã©ã¼ãçºçãã¾ãã", Toast.LENGTH_LONG).show()73                }74            }75        }76    }77    //ç»é¢ä¸ã®ç»åãã¼ã¿ãåé¤78    fun ImageClear() {79        val imageView = findViewById<ImageView>(R.id.imageView)80        imageView.setImageIcon(null)81    }82    //ç»é¢ä¸ã®ç»åãä¿åãtxtãã¼ã¿ã«å¤æ83    fun Convert(){84        /*val file = File("$filesDir", "pictureBuffer.png")85        FileOutputStream(file).use { fileOutputStream ->86            image!!.compress(Bitmap.CompressFormat.PNG, 50, fileOutputStream)87            fileOutputStream.flush()88        }89        val newFile = File("$filesDir", "pictureBuffer.txt")90        file.renameTo(newFile)*/91        val baos = ByteArrayOutputStream()92        image!!.compress(Bitmap.CompressFormat.PNG, 100, baos)93        val b = baos.toByteArray()94        FileWrite(Base64.encodeToString(b, Base64.NO_WRAP))95    }96    //ä¿åãããtxtãã¼ã¿ãpngã«å¤æãç»é¢ã«è¡¨ç¤º97    fun ReConvert() {98        val file = File("$filesDir", "pictureBuffer.txt")99        val newFile = File("$filesDir", "pictureBuffer.png")100        file.renameTo(newFile)101        val buf: Bitmap = BitmapFactory.decodeFile("$filesDir/pictureBuffer.png")102        Handler().post {103            findViewById<ImageView>(R.id.imageView).setImageBitmap(buf)104        }105    }106    fun setStringImage(data: String) {107        val decodedByte: ByteArray = Base64.decode(data, 0)108        val buf= BitmapFactory.decodeByteArray(decodedByte, 0, decodedByte.size)109        findViewById<ImageView>(R.id.imageView).setImageBitmap(buf)110    }111    fun Connect() {112        val POSTDATA = HashMap<String, String>()113        POSTDATA.put("", "")114        "https://compass-user.work/s.php".httpPost(POSTDATA.toList())115            .response { _, response, result ->116                when (result) {117                    is Result.Success -> {118                        setStringImage(String(response.data))119                    }120                    is Result.Failure -> {121                    }122                }123            }124    }125    fun FileWrite(str: String) {126        var strbuf=str.replace("<br />","")127        val file = File("$filesDir/", "pictureBuffer.txt")128        file.writeText(strbuf)129    }130}...LearningDetailContentsFragment.kt
Source:LearningDetailContentsFragment.kt  
1package com.example.awsclflearning.Fragment2import android.graphics.Bitmap3import android.graphics.BitmapFactory4import android.os.Bundle5import android.view.LayoutInflater6import android.view.Menu7import android.view.MenuInflater8import android.view.MenuItem9import android.view.View10import android.view.ViewGroup11import android.webkit.WebResourceRequest12import android.webkit.WebView13import android.webkit.WebViewClient14import com.example.awsclflearning.R15import com.example.awsclflearning.Util.FirebaseAnalyticsUtil16import com.github.kittinunf.result.Result.Success17import com.github.kittinunf.fuel.httpGet18import com.github.kittinunf.result.Result.Failure19import kotlinx.android.synthetic.main.fragment_learning_detail_contents.*20class LearningDetailContentsFragment(21    _learningTitle: String,22    _learningContent: String,23    _learningContentImageUrl: String24) : BaseFragment() {25    val learningTitle = _learningTitle26    val learningContent = _learningContent27    val learningContentImageUrl = _learningContentImageUrl28    var isFavorite: Boolean = false29    override fun onCreateView(30        inflater: LayoutInflater, container: ViewGroup?,31        savedInstanceState: Bundle?32    ): View? {33        FirebaseAnalyticsUtil.recordScreenView(getString(R.string.firebase_screen_name_aws_learning_detail))34        setHasOptionsMenu(true)35        return inflater.inflate(R.layout.fragment_learning_detail_contents, container, false)36    }37    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {38        super.onViewCreated(view, savedInstanceState)39        if (learningContent.contains("https://")) {40            learning_scroll_view.visibility = View.GONE41            webview.loadUrl(learningContent)42            webview.setWebViewClient(object: WebViewClient() {43                override fun shouldOverrideUrlLoading(44                    view: WebView?,45                    request: WebResourceRequest?46                ): Boolean {47                    return false48                }49                override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {50                    super.onPageStarted(view, url, favicon)51                    loading_progress_bar.visibility = View.VISIBLE52                }53                override fun onPageFinished(view: WebView?, url: String?) {54                    super.onPageFinished(view, url)55                    loading_progress_bar.visibility = View.GONE56                }57            })58        } else {59            webview.visibility = View.GONE60            learning_title.text = learningTitle61            learning_content.text = learningContent62            setupLearningContentImage()63        }64    }65    /** ToolBarã®ãªãã·ã§ã³é 
ç®ãã»ãã **/66    override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {67        inflater.inflate(R.menu.learning_detail_contents_menu, menu)68    }69    /** ToolBarã®ãªãã·ã§ã³ã¿ããæã®å¦ç **/70    override fun onOptionsItemSelected(item: MenuItem): Boolean = when (item.itemId) {71        R.id.favorite -> {72            if (!isFavorite) {73                item.setIcon(R.drawable.ic_baseline_star_24)74                isFavorite = true75            } else {76                item.setIcon(R.drawable.ic_baseline_star_outline_24)77                isFavorite = false78            }79            true80        }81        else -> {82            super.onOptionsItemSelected(item)83        }84    }85    fun setupLearningContentImage() {86        // UrlãNullã空æåã®å ´åã¯NoImage87        if (learningContentImageUrl.isNullOrEmpty()) {88            learning_content_img.setImageResource(R.drawable.no_img)89            return90        }91        val async = learningContentImageUrl.httpGet().response { request, response, result ->92            when (result) {93                is Success -> {94                    val bitmap = BitmapFactory.decodeStream(response.body().toStream())95                    learning_content_img.setImageBitmap(bitmap)96                }97                is Failure -> {98                    // Urlã䏿£ã§ç»ååå¾ã§ããªãå ´åã¯NoImage99                    learning_content_img.setImageResource(R.drawable.no_img)100                }101            }102        }103        async.join()104    }105}...MarkdownImageGetter.kt
Source:MarkdownImageGetter.kt  
1package gitlin.kothub.utilities.markdown2import android.content.Context3import android.graphics.BitmapFactory4import android.graphics.Canvas5import android.graphics.drawable.BitmapDrawable6import android.graphics.drawable.Drawable7import android.os.AsyncTask8import android.text.Html9import android.text.Html.ImageGetter10import android.util.Log11import android.view.View12import com.github.kittinunf.fuel.Fuel13import gitlin.kothub.R14import java.io.InputStream15class MarkdownImageGetter(val context: Context) : Html.ImageGetter {16    override fun getDrawable(source: String): Drawable {17        val response = Fuel.get(source).response()18        val data = response.third.get()19        Log.i("MarkdownImageGetter", source)20        Log.i("MarkdownImageGetter", data.contentToString())21        val bitmap = BitmapFactory.decodeStream(data.inputStream())22        if (bitmap == null) {23            return context.resources.getDrawable(R.drawable.abc_spinner_mtrl_am_alpha)24        }25        val drawable = BitmapDrawable(context.resources, bitmap)26        drawable.setBounds(0, 0, bitmap.width, bitmap.height)27        return drawable28    }29}30class UrlImageParser(internal var container: View, internal var c: Context) : ImageGetter {31    override fun getDrawable(source: String): Drawable {32        val urlDrawable = UrlDrawable()33        // get the actual source34        val asyncTask = ImageGetterAsyncTask(urlDrawable)35        asyncTask.execute(source)36        // return reference to URLDrawable where I will change with actual image from37        // the src tag38        return urlDrawable39    }40    inner class ImageGetterAsyncTask(internal var urlDrawable: UrlDrawable) : AsyncTask<String, Void, Drawable>() {41        override fun doInBackground(vararg params: String): Drawable? {42            val source = params[0]43            return fetchDrawable(source)44        }45        override fun onPostExecute(result: Drawable?) {46            if (result == null) {47                urlDrawable.drawable = null48            }49            else {50                // set the correct bound according to the result from HTTP call51                urlDrawable.setBounds(0, 0, 0 + result!!.intrinsicWidth, 0 + result!!.intrinsicHeight)52                // change the reference of the current drawable to the result53                // from the HTTP call54                urlDrawable.drawable = result55                // redraw the image by invalidating the container56                this@UrlImageParser.container.invalidate()57            }58        }59        /***60         * Get the Drawable from URL61         * @param urlString62         * *63         * @return64         */65        fun fetchDrawable(urlString: String): Drawable? {66            try {67                val `is` = fetch(urlString)68                val drawable = Drawable.createFromStream(`is`, "src")69                drawable.setBounds(0, 0, 0 + drawable.intrinsicWidth, 0 + drawable.intrinsicHeight)70                return drawable71            } catch (e: Exception) {72                return null73            }74        }75        private fun fetch(urlString: String): InputStream {76            return Fuel.get(urlString).response().third.get().inputStream()77        }78    }79    inner class UrlDrawable : BitmapDrawable() {80        // the drawable that you need to set, you could set the initial drawing81        // with the loading image if you need to82        var drawable: Drawable? = null83        override fun draw(canvas: Canvas) {84            // override the draw to facilitate refresh function later85            if (drawable != null) {86                drawable?.draw(canvas)87            }88        }89    }90}...Image.kt
Source:Image.kt  
1package fr.niels.epicture.model2import android.content.res.Resources3import android.graphics.Bitmap4import android.graphics.BitmapFactory5import android.graphics.drawable.BitmapDrawable6import android.graphics.drawable.Drawable7import android.graphics.drawable.GradientDrawable8import com.github.kittinunf.fuel.core.ResponseDeserializable9import com.google.gson.Gson10import com.google.gson.annotations.SerializedName11import org.json.JSONArray12import org.json.JSONObject13import java.io.IOException14import java.net.HttpURLConnection15import java.net.URL16import java.util.*17class Image : Observable() {18    var id: String = ""19    var title: String = ""20        set(value) {21            field = value22            setChangedAndNotify("title")23        }24    var type: String = ""25        set(value) {26            field = value27            setChangedAndNotify("type")28        }29    var link: String = ""30        set(value) {31            field = value32            content = drawableFromUrl(value)33        }34    var content: Drawable = GradientDrawable()35        set(value) {36            field = value37            setChangedAndNotify("content")38        }39    var favorite: Boolean = false40        set(value) {41            field = value42            setChangedAndNotify("favorite")43        }44    @SerializedName("account_url")45    var owner: String = ""46        set(value) {47            field = value48            setChangedAndNotify("owner")49        }50    fun merge(other: Image?) {51        if (other == null)52            return53        this.apply {54            title = other.title55            type = other.type56            link = other.link57            favorite = other.favorite58            owner = other.owner59        }60    }61    private fun setChangedAndNotify(field: Any) {62        setChanged()63        notifyObservers(field)64    }65    @Throws(IOException::class)66    private fun drawableFromUrl(url: String): Drawable {67        val connection = URL(url).openConnection() as HttpURLConnection68        connection.connect()69        val input = connection.inputStream70        var x: Bitmap = BitmapFactory.decodeStream(input)71        return BitmapDrawable(Resources.getSystem(), x)72    }73    class Deserializer : ResponseDeserializable<Image> {74        override fun deserialize(content: String): Image? {75            val imageLink: String = getImageLink(content)76            if (imageLink.isEmpty())77                return null78            val image: Image = Gson().fromJson(content, Image::class.java)79            image.link = imageLink80            image.content = image.drawableFromUrl(image.link)81            return image82        }83        private fun getImageLink(content: String): String {84            if (!JSONObject(content).has("images")) {85                if (!isValidType(JSONObject(content)))86                    return ""87                return JSONObject(content).getString("link")88            }89            val images: JSONArray = JSONObject(content).getJSONArray("images")90            if (images.length() != 1)91                return ""92            val firstImage = images.getJSONObject(0)93            if (!isValidType(firstImage))94                return ""95            return firstImage.getString("link")96        }97        private fun isValidType(image: JSONObject): Boolean {98            val type: String = image.getString("type")99            return type.startsWith("image/") &&100                    type != "image/gif" &&101                    !image.getBoolean("animated") &&102                    !image.getBoolean("has_sound")103        }104    }105}...CardView.kt
Source:CardView.kt  
1package com.csuf.scryfallclient2import android.graphics.Bitmap3import android.graphics.BitmapFactory4import android.os.AsyncTask5import android.os.Bundle6import android.widget.ImageView7import android.widget.TextView8import androidx.appcompat.app.AppCompatActivity9import com.beust.klaxon.Klaxon10import com.github.kittinunf.fuel.Fuel11import com.github.kittinunf.result.Result12import java.io.InputStream13import java.net.URL14import java.util.concurrent.Executor15class CardView : AppCompatActivity() {16    override fun onCreate(savedInstanceState: Bundle?) {17        super.onCreate(savedInstanceState)18        setContentView(R.layout.activity_card_view)19        val query = intent.getStringExtra(SEARCH_QUERY)20        if (query != null) {21            val r = Fuel.get("https://api.scryfall.com/cards/named?exact=$query")22                .responseString { request, response, result ->23                    when (result) {24                        is Result.Failure -> {25                            println("Couldn't search! ${result.getException()}")26                        }27                        is Result.Success -> {28                            val json = result.value29                            val parsed = Klaxon().parse<Card>(json)30                            if (parsed != null) {31                                setCard(parsed)32                            }33                        }34                    }35                }36            r.join()37        }38    }39    private fun setCard(card: Card) {40        findViewById<TextView>(R.id.card_name_text).text = card.name41        findViewById<TextView>(R.id.card_mana_text).text = card.mana_cost42        findViewById<TextView>(R.id.card_type_text).text = card.type_line43        findViewById<TextView>(R.id.card_oracle_text).text = card.oracle_text44        val imageView = findViewById<ImageView>(R.id.imageView)45        var bitmap : Bitmap? = null46        try {47            val input = URL(card.image_uris.png).openStream()48            bitmap = BitmapFactory.decodeStream(input)49        } catch (e: Exception) {50            e.printStackTrace()51        }52        if (bitmap != null) imageView.setImageBitmap(bitmap)53    }54}...DecodeStream
Using AI Code Generation
1val image = result.component1()?.let { DecodeStream(it).toBitmap() }2image?.let { imageView.setImageBitmap(it) }3image?.let { imageView.setImageBitmap(it) }4image?.let { imageView.setImageBitmap(it) }5image?.let { imageView.setImageBitmap(it) }6image?.let { imageView.setImageBitmap(it) }7image?.let { imageView.setImageBitmap(it) }8image?.let { imageView.setImageBitmap(it) }9image?.let { imageView.setImageBitmap(it) }10image?.let { imageView.setImageBitmap(it) }11image?.let { imageView.setImageBitmap(it) }12image?.let { imageView.setImageBitmap(it) }DecodeStream
Using AI Code Generation
1val (bytes, error) = result2}3val (bytes, error) = result4}5val (bytes, error) = result6}7val (bytes, error) = result8}9val (bytes, error) = result10}11val (bytes, error) = result12}13val (bytes, error) = result14}15val (requestDecodeStream
Using AI Code Generation
1val (request, response, result) = Fuel.download(fileUrl).destination { response, url -> File.createTempFile("temp", "file") }.response()2val file = result.fold({ d -> d }, { err -> throw err })3val inputStream = file.inputStream()4val decodeStream = DecodeStream(inputStream)5val bitmap = decodeStream.decodeSampledBitmapFromStream(100, 100)6val imageView = findViewById(R.id.image_view) as ImageView7imageView.setImageBitmap(bitmap)8val (request, response, result) = Fuel.download(fileUrl).destination { response, url -> File.createTempFile("temp", "file") }.response()9val file = result.fold({ d -> d }, { err -> throw err })10val inputStream = file.inputStream()11val decodeStream = DecodeStream(inputStream)12val bitmap = decodeStream.decodeSampledBitmapFromStream(100, 100)13val imageView = findViewById(R.id.image_view) as ImageView14imageView.setImageBitmap(bitmap)15val (request, response, result) = Fuel.download(fileUrl).destination { response, url -> File.createTempFile("temp", "file") }.response()16val file = result.fold({ d -> d }, { err -> throw err })17val inputStream = file.inputStream()18val decodeStream = DecodeStream(inputStream)19val bitmap = decodeStream.decodeSampledBitmapFromStream(100, 100)20val imageView = findViewById(R.id.image_view) as ImageView21imageView.setImageBitmap(bitmap)22val (request, response, result) = Fuel.download(fileUrl).destination { response, url -> File.createTempFile("temp", "file") }.response()23val file = result.fold({ d -> d }, { err -> throw err })24val inputStream = file.inputStream()25val decodeStream = DecodeStream(inputStream)26val bitmap = decodeStream.decodeSampledBitmapFromStream(100, 100)27val imageView = findViewById(R.id.image_view) as ImageView28imageView.setImageBitmap(bitmap)29val (request, response, result) = Fuel.download(fileUrl).destination { response, url -> File.createTempFile("temp", "file")DecodeStream
Using AI Code Generation
1fun main(args: Array<String>) {2val image = result.fold({ data -> DecodeStream.decodeStream(data.inputStream) }, { err -> null })3image?.let { println("Image is ${it.width} wide and ${it.height} high") }4}5fun main(args: Array<String>) {6val image = result.fold({ data -> DecodeStream.decodeStream(data.inputStream) }, { err -> null })7image?.let { println("Image is ${it.width} wide and ${it.height} high") }8}DecodeStream
Using AI Code Generation
1val dataStream = result.component1()2val image = ImageIO.read(dataStream)3JLabel(ImageIcon(image)).display()4val image = result.fold({ ImageIO.read(it) }, { null })5JLabel(ImageIcon(image)).display()6val image = result.fold({ it }, { null })7JLabel(ImageIcon(image)).display()8val image = result.fold({ ImageIO.read(ByteArrayInputStream(it.toByteArray())) }, { null })9JLabel(ImageIcon(image)).display()10val image = result.fold({ ImageIO.read(ByteArrayInputStream(it.data)) }, { null })11JLabel(ImageIcon(image)).display()12val image = result.fold({ ImageIO.read(ByteArrayInputStream(it.data)) }, { null })13JLabel(ImageIcon(image)).display()14val image = result.fold({ ImageIO.read(ByteArrayInputStream(it.data)) }, { null })15JLabel(ImageIcon(image)).display()16val image = result.fold({ ImageIO.read(ByteArrayInputStream(it.data)) }, { null })17JLabel(ImageIcon(image)).display()18val image = result.fold({ ImageIO.read(ByteArrayInputStream(it.data)) }, { null })19JLabel(ImageIcon(image)).displayDecodeStream
Using AI Code Generation
1     result.fold({ inputStream ->2         val  data =  ByteArray (100)3         inputStream.read(data)4    }, { error ->5    })6}7     result.fold({ inputStream ->8        inputStream.reader().readText()9    }, { error ->10    })11}12     result.fold({ inputStream ->13        inputStream.bufferedReader().readText()14    }, { error ->15    })16}17     result.fold({ inputStream ->18        inputStream.bufferedReader().use { it.readText() }19    }, { error ->20    })21}22     result.fold({ inputStream ->23        inputStream.bufferedReader().useLines { it.toList() }24    }, { error ->25    })26}DecodeStream
Using AI Code Generation
1val image: ImageView = findViewById(R.id.image)2File(filesDir, "image.jpg")3}.response { request, response, result ->4result.fold({ d ->5image.setImageBitmap(DecodeStream().invoke(d))6}, { err ->7})8}9val image: ImageView = findViewById(R.id.image)10File(filesDir, "image.jpg")11}.response { request, response, result ->12result.fold({ d ->13image.setImageBitmap(BitmapDecoder().invoke(d))14}, { err ->15})16}17val image: ImageView = findViewById(R.id.image)18File(filesDir, "image.jpg")19}.response { request, response, result ->20result.fold({ d ->21image.setImageBitmap(BitmapDecoder().invoke(d))22}, { err ->23})24}25val image: ImageView = findViewById(R.id.image)26File(filesDir, "image.jpg")27}.response { request, response, result ->28result.fold({ d ->29image.setImageBitmap(BitmapDecoder().invoke(d))30}, { err ->31})32}33val image: ImageView = findViewById(R.id.image)34File(filesDir, "image.jpg")35}.response { request, response, result ->36result.fold({ d ->37image.setImageBitmap(BitmapDecoder().invoke(d))38}, { err ->Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
