Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 6.24 KB | None | 0 0
  1. package com.example.john.myapplication
  2.  
  3. import android.content.Context
  4. import android.os.Bundle
  5. import android.support.design.widget.Snackbar
  6. import android.support.v7.app.AppCompatActivity;
  7. import android.util.Log
  8.  
  9. import kotlinx.android.synthetic.main.activity_main.*
  10. import kotlinx.android.synthetic.main.content_main.*
  11. import okhttp3.*
  12. import org.json.JSONObject
  13. import java.io.IOException
  14. import okhttp3.RequestBody
  15. import okhttp3.WebSocket
  16. import okio.ByteString
  17. import okhttp3.WebSocketListener
  18. import android.widget.Toast
  19. import android.content.pm.PackageManager
  20. import android.hardware.camera2.CameraDevice
  21. import android.hardware.camera2.CameraAccessException
  22. import android.hardware.camera2.CameraCharacteristics
  23. import android.content.Context.CAMERA_SERVICE
  24. import android.hardware.camera2.CameraManager
  25. import android.os.Build
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32. class MainActivity : AppCompatActivity() {
  33.  
  34.     lateinit var mOkHttpClient: OkHttpClient
  35.     lateinit var mOkHttpSockClient: OkHttpClient
  36.  
  37.     lateinit var mWebSocket: WebSocket
  38.  
  39.  
  40.     override fun onCreate(savedInstanceState: Bundle?) {
  41.         super.onCreate(savedInstanceState)
  42.         setContentView(R.layout.activity_main)
  43.         setSupportActionBar(toolbar)
  44.  
  45.         Log.d("TAG", "Running")
  46.  
  47.         Log.d("TAG", "HttpObject")
  48.         mOkHttpClient = OkHttpClient()
  49.  
  50.         fab.setOnClickListener { view ->
  51.             Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
  52.                     .setAction("Action", null).show()
  53.         }
  54.  
  55.         btnGet.setOnClickListener { view ->
  56.  
  57.  
  58.             var mCameraId:String = ""
  59.             val mCameraManager = getSystemService(Context.CAMERA_SERVICE) as CameraManager;
  60.             try {
  61.                 mCameraId = mCameraManager.getCameraIdList()[0];
  62.             } catch (e:CameraAccessException) {
  63.                 e.printStackTrace();
  64.             }
  65.  
  66.  
  67.             try {
  68.                 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
  69.                     mCameraManager.setTorchMode(mCameraId, true)
  70.                 }
  71.             } catch (e: Exception) {
  72.                 e.printStackTrace()
  73.             }
  74.  
  75.  
  76.  
  77.             Log.d("TAG", "Preparing get")
  78.             var url = "https://reqres.in/api/users?page=2"
  79.             var request = Request.Builder()
  80.                     .url(url)
  81.                     .build()
  82.             mOkHttpClient.newCall(request).enqueue(object : Callback {
  83.                 override fun onFailure(call: Call, e: IOException) {
  84.                     Log.d("TAG", "Request failed")
  85.                     this@MainActivity.runOnUiThread(java.lang.Runnable {
  86.                         Snackbar.make(view, "Request failed", Snackbar.LENGTH_LONG)
  87.                                 .setAction("Action", null).show()
  88.                     })
  89.                 }
  90.  
  91.                 override fun onResponse(call: Call, response: Response) {
  92.                     Log.d("TAG", "Request success")
  93.                     if (response.isSuccessful) {
  94.                         this@MainActivity.runOnUiThread(java.lang.Runnable {
  95.                             textGet.setText(response.body()?.string())
  96.                             Snackbar.make(view, "Request success", Snackbar.LENGTH_LONG)
  97.                                     .setAction("Action", null).show()
  98.                         })
  99.                     }
  100.                 }
  101.             })
  102.         }
  103.  
  104.         btnPost.setOnClickListener { view ->
  105.             Log.d("TAG", "Preparing post")
  106.             var MEDIA_TYPE = MediaType.parse("application/json");
  107.             var postData = JSONObject()
  108.             postData.put("name", "Moss")
  109.             postData.put("job", "developer")
  110.  
  111.             val body = RequestBody.create(MEDIA_TYPE, postData.toString())
  112.  
  113.  
  114.             var url = "https://reqres.in/api/users?page=2"
  115.             var request = Request.Builder()
  116.                     .url(url)
  117.                     .post(body)
  118.                     .addHeader("Content-Type", "application/json")
  119.                     .build()
  120.  
  121.             mOkHttpClient.newCall(request).enqueue(object : Callback {
  122.                 override fun onFailure(call: Call, e: IOException) {
  123.                     Log.d("TAG", "Request failed")
  124.                     this@MainActivity.runOnUiThread(java.lang.Runnable {
  125.                         Snackbar.make(view, "Request failed", Snackbar.LENGTH_LONG)
  126.                                 .setAction("Action", null).show()
  127.                     })
  128.                 }
  129.  
  130.                 override fun onResponse(call: Call, response: Response) {
  131.                     Log.d("TAG", "Request success")
  132.                     if (response.isSuccessful) {
  133.                         this@MainActivity.runOnUiThread(java.lang.Runnable {
  134.                             textPost.setText(response.body()?.string())
  135.                             Snackbar.make(view, "Request success", Snackbar.LENGTH_LONG)
  136.                                     .setAction("Action", null).show()
  137.                         })
  138.                     }
  139.                 }
  140.             })
  141.         }
  142.  
  143.         class EchoWebSocketListener : WebSocketListener() {
  144.  
  145.             override fun onOpen(webSocket: WebSocket, response: Response) {
  146.                 Log.d("TAG", "Sock opened")
  147.                 this@MainActivity.runOnUiThread(java.lang.Runnable {
  148.                     textSock.setText("Socket rdy")
  149.  
  150.                 })
  151.             }
  152.  
  153.             override fun onMessage(webSocket: WebSocket?, text: String?) {
  154.                 this@MainActivity.runOnUiThread(java.lang.Runnable {
  155.                     Log.d("TAG", "Sock msg recieved")
  156.                     textSock.setText(text)
  157.                 })
  158.  
  159.             }
  160.  
  161.         }
  162.         mOkHttpSockClient = OkHttpClient()
  163.         val request = Request.Builder().url("ws://echo.websocket.org").build()
  164.         var listener = EchoWebSocketListener()
  165.  
  166.         btnSockOn.setOnClickListener { view ->
  167.             Log.d("TAG", "Sock open")
  168.             mWebSocket = mOkHttpSockClient.newWebSocket(request, listener)
  169.             mOkHttpSockClient.dispatcher().executorService().shutdown()
  170.         }
  171.  
  172.         btnSockSend.setOnClickListener { view ->
  173.             Log.d("TAG", "Sock send")
  174.             mWebSocket.send("Hello you nasty!")
  175.         }
  176.  
  177.  
  178.  
  179.     }
  180. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement