From f867ddd699a2e421d78ac137474b78c45bfabb6a Mon Sep 17 00:00:00 2001 From: Dmitry Isaenko Date: Sun, 27 Sep 2020 21:29:51 +0300 Subject: [PATCH] And now even widget works. --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 3 - .../nowol/nowol/SendRequestService.java | 100 +++++++++--------- .../nowol/widget/WidgetConfigurator.java | 10 +- .../layout/activity_widget_configurator.xml | 2 +- app/src/main/res/xml/widget_settings.xml | 2 +- 6 files changed, 59 insertions(+), 62 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d509f01..4342751 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "com.blogspot.developersu.nowol.nowol" minSdkVersion 14 targetSdkVersion 29 - versionCode 3 - versionName "3.0" + versionCode 4 + versionName "4.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 94ca99d..cecac7e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,9 +26,6 @@ - - diff --git a/app/src/main/java/com/blogspot/developersu/nowol/nowol/SendRequestService.java b/app/src/main/java/com/blogspot/developersu/nowol/nowol/SendRequestService.java index a318933..68fff28 100644 --- a/app/src/main/java/com/blogspot/developersu/nowol/nowol/SendRequestService.java +++ b/app/src/main/java/com/blogspot/developersu/nowol/nowol/SendRequestService.java @@ -29,64 +29,64 @@ public class SendRequestService extends IntentService { private void sendData(int state, int awID){ // MainActivity requested - if (awID != 0) { - RemoteViews rv = new RemoteViews(getPackageName(), R.layout.no_wol_widget); - AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this); + if (awID == 0) { + // Log.d("qwerty1212", "MainActivity case. Status = " + Integer.toString(state) + " awID = " + Integer.toString(awID)); + resReceiver.send(state, null); + } - switch (state){ - case 1: - rv.setTextViewText(R.id.widgetStatusText, getResources().getString(R.string.statusOnline)); - rv.setInt(R.id.widgetHeaderLayout, "setBackgroundColor", ContextCompat.getColor(this, R.color.colorPrimary)); - // Log.d("qwerty1212", "case 1 widget"); - break; - case 0: - rv.setTextViewText(R.id.widgetStatusText, getResources().getString(R.string.statusOffline)); - rv.setInt(R.id.widgetHeaderLayout, "setBackgroundColor", ContextCompat.getColor(this, R.color.colorRed)); - // Log.d("qwerty1212", "case 0 widget"); - break; - case -1: - rv.setTextViewText(R.id.widgetStatusText, getResources().getString(R.string.noResponse)); - rv.setInt(R.id.widgetHeaderLayout, "setBackgroundColor", ContextCompat.getColor(this, R.color.colorOrange)); - // Log.d("qwerty1212", "case -1 widget"); - break; - } - appWidgetManager.updateAppWidget(awID, rv); - } - else{ - // Log.d("qwerty1212", "MainActivity case. Status = " + Integer.toString(state) + " awID = " + Integer.toString(awID)); - resReceiver.send(state, null); + RemoteViews rv = new RemoteViews(getPackageName(), R.layout.no_wol_widget); + AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this); + + switch (state){ + case STATE_ON: + rv.setTextViewText(R.id.widgetStatusText, getResources().getString(R.string.statusOnline)); + rv.setInt(R.id.widgetHeaderLayout, "setBackgroundColor", ContextCompat.getColor(this, R.color.colorPrimary)); + // Log.d("qwerty1212", "case 1 widget"); + break; + case STATE_OFF: + rv.setTextViewText(R.id.widgetStatusText, getResources().getString(R.string.statusOffline)); + rv.setInt(R.id.widgetHeaderLayout, "setBackgroundColor", ContextCompat.getColor(this, R.color.colorRed)); + // Log.d("qwerty1212", "case 0 widget"); + break; + case STATE_UNKNOWN: + rv.setTextViewText(R.id.widgetStatusText, getResources().getString(R.string.noResponse)); + rv.setInt(R.id.widgetHeaderLayout, "setBackgroundColor", ContextCompat.getColor(this, R.color.colorOrange)); + // Log.d("qwerty1212", "case -1 widget"); + break; } + appWidgetManager.updateAppWidget(awID, rv); } @Override protected void onHandleIntent(Intent intent) { - if (intent != null) { - // Log.d("service", "Got intent"); - Bundle bndle = intent.getExtras(); - String url = bndle.getString("url"); - resReceiver = bndle.getParcelable("reciever"); - final int awID = bndle.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID); + if (intent == null) + return; - // Log.d("qwerty1212", "got from " + Integer.toString(awID) +" "+ url); + // Log.d("service", "Got intent"); + Bundle bndle = intent.getExtras(); + String url = bndle.getString("url"); + resReceiver = bndle.getParcelable("reciever"); + final int awID = bndle.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID); - RequestQueue queueStd = Volley.newRequestQueue(this); - StringRequest strRequest = new StringRequest(Request.Method.GET, url, //will be 4 requests - new Response.Listener() { - @Override - public void onResponse(String response) { - if (response.contains("00c600")){ - sendData(STATE_ON, awID); - } else { - sendData(STATE_OFF, awID); - } + // Log.d("qwerty1212", "got from " + Integer.toString(awID) +" "+ url); + + RequestQueue queueStd = Volley.newRequestQueue(this); + StringRequest strRequest = new StringRequest(Request.Method.GET, url, //will be 4 requests + new Response.Listener() { + @Override + public void onResponse(String response) { + if (response.contains("00c600")){ + sendData(STATE_ON, awID); + } else { + sendData(STATE_OFF, awID); } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - sendData(STATE_UNKNOWN, awID); - } - }); - queueStd.add(strRequest); - } + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + sendData(STATE_UNKNOWN, awID); + } + }); + queueStd.add(strRequest); } } diff --git a/app/src/main/java/com/blogspot/developersu/nowol/nowol/com/blogspot/developersu/nowol/nowol/widget/WidgetConfigurator.java b/app/src/main/java/com/blogspot/developersu/nowol/nowol/com/blogspot/developersu/nowol/nowol/widget/WidgetConfigurator.java index 4cb6c1f..8c3eca5 100644 --- a/app/src/main/java/com/blogspot/developersu/nowol/nowol/com/blogspot/developersu/nowol/nowol/widget/WidgetConfigurator.java +++ b/app/src/main/java/com/blogspot/developersu/nowol/nowol/com/blogspot/developersu/nowol/nowol/widget/WidgetConfigurator.java @@ -12,16 +12,16 @@ import android.view.View; import android.widget.Button; import android.widget.RemoteViews; import android.widget.SeekBar; -import android.widget.Switch; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; import com.blogspot.developersu.nowol.nowol.R; import com.blogspot.developersu.nowol.nowol.SendRequestService; +import com.google.android.material.switchmaterial.SwitchMaterial; public class WidgetConfigurator extends AppCompatActivity { private SeekBar opacityBar; - private Switch bkgoundSwitch; + private SwitchMaterial bkgoundSwitch; private void generateWidgetAndDie(int awID, Context context){ SharedPreferences.Editor settingsEditor; @@ -70,7 +70,7 @@ public class WidgetConfigurator extends AppCompatActivity { settingsEditor.putInt("WidgetBgColor", Color.argb(255-opacityBar.getProgress()*255/100, 0x00,0x00,0x00)); Log.d("qwerty1212", Integer.toString(Color.argb(255-opacityBar.getProgress()*255/100, 0x00,0x00,0x00))); } - settingsEditor.commit(); + settingsEditor.apply(); awm.updateAppWidget(awID,rv); // Send intent to widget @@ -95,11 +95,11 @@ public class WidgetConfigurator extends AppCompatActivity { final TextView opacityLbl = findViewById(R.id.configOpacityLbl); // Prepare seekBar element - opacityLbl.setText(getString(R.string.confOpacity) + " " + Integer.toString(opacityBar.getProgress())+"%"); + opacityLbl.setText(getString(R.string.confOpacity) + " " + opacityBar.getProgress()+"%"); opacityBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { - opacityLbl.setText(getString(R.string.confOpacity) + " " + Integer.toString(i) + "%"); + opacityLbl.setText(getString(R.string.confOpacity) + " " + i + "%"); } @Override diff --git a/app/src/main/res/layout/activity_widget_configurator.xml b/app/src/main/res/layout/activity_widget_configurator.xml index caf9a5e..03195bc 100644 --- a/app/src/main/res/layout/activity_widget_configurator.xml +++ b/app/src/main/res/layout/activity_widget_configurator.xml @@ -32,7 +32,7 @@ android:layout_height="25dp" android:layout_weight="1" /> -