Skip to content

byvapps/android-byv-devices

Repository files navigation

android-byv-devices

Add this (for the badger library) to your Project build.gradle:

buildscript {
	repositories {
		...
    mavenCentral()
	}
  ...
}

And initialize the library on your aplication class:

DeviceController.getInstance().init(this, new DeviceController.Callbacks() {
			@Override
			public void saveDeviceLocal(Device device) {
				//TODO return save device locally
				//For example save it on SharedPreferences
			}

			@Override
			public Device getSavedDevice() {
				//TODO return locally saved device
				//For example load it from SharedPreferences and return it
			}

			@Override
			public void postDevice(final Device device) {
				//TODO POST device to the server
				/*Example
				VolleyController.getInstance().onCall(InternetCall()
						.setUrl(BuildConfig.HOST + "/device/api/devices")
						.setCode("code_post_device")
						.putHeader("Content-Type", VolleyController.ContentType.JSON.toString())
						.setRawBody(Gson().toJson(device))
						.setMethod(InternetCall.Method.POST)
						.addCallback(object : VolleyController.IOCallbacks {
							override fun onResponse(customResponse: CustomResponse, s1: String) {
								Log.d(DEBUG_TAG, "Code: " + s1 + " | Response: " + customResponse.data)
								DeviceController.getInstance().setId(Gson().fromJson(customResponse.data, Device::class.java).id)
							}

							override fun onResponseError(volleyError: VolleyError, s: String?) {
								Log.d(DEBUG_TAG, "Code: $s | Error: $volleyError")
							}
						})
				)
				*/
			}

			@Override
			public void putDevice(Device device) {
				//TODO PUT device to the server
				/*Example
				VolleyController.getInstance().onCall(InternetCall()
						.setUrl(BuildConfig.HOST + "/device/api/devices" + device.id)
						.setCode("code_put_device")
						.putHeader("Content-Type", VolleyController.ContentType.JSON.toString())
						.setRawBody(Gson().toJson(device))
						.setMethod(InternetCall.Method.PUT)
						.addCallback(object : VolleyController.IOCallbacks {
							override fun onResponse(customResponse: CustomResponse, s1: String) {
								Log.d(DEBUG_TAG, "Code: " + s1 + " | Response: " + customResponse.data)
								DeviceController.getInstance().setId(Gson().fromJson(customResponse.data, Device::class.java).id)
							}

							override fun onResponseError(volleyError: VolleyError, s: String?) {
								Log.d(DEBUG_TAG, "Code: $s | Error: $volleyError")
							}
						})
				)
				*/
			}
		});

When get FCM or GCM registrationId:

			DeviceController.getInstance().onRegistrationIdObtained(token);
			DeviceController.getInstance().postDevice();

Or, if it's not a new device:

			DeviceController.getInstance().onRegistrationIdObtained(token);
			DeviceController.getInstance().putDevice();

Do not forget to create the project on Firebase (https://firebase.google.com/docs/android/setup?hl=en-419) console and add the google-services.json file to your /app folder!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published