forked from jens/Automation
send broadcasts action
This commit is contained in:
parent
3a14a56fd0
commit
a19c84ea51
@ -165,6 +165,7 @@
|
|||||||
<activity android:name=".ActivityHelp" />
|
<activity android:name=".ActivityHelp" />
|
||||||
<activity android:name=".ActivityManageActionVibrate" />
|
<activity android:name=".ActivityManageActionVibrate" />
|
||||||
<activity android:name=".ActivityManageActionControlMedia" />
|
<activity android:name=".ActivityManageActionControlMedia" />
|
||||||
|
<activity android:name=".ActivityManageActionSendBroadcast" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".ActivityMainTabLayout"
|
android:name=".ActivityMainTabLayout"
|
||||||
android:launchMode="singleTask">
|
android:launchMode="singleTask">
|
||||||
|
@ -163,6 +163,7 @@
|
|||||||
<activity android:name=".ActivityHelp" />
|
<activity android:name=".ActivityHelp" />
|
||||||
<activity android:name=".ActivityManageActionVibrate" />
|
<activity android:name=".ActivityManageActionVibrate" />
|
||||||
<activity android:name=".ActivityManageActionControlMedia" />
|
<activity android:name=".ActivityManageActionControlMedia" />
|
||||||
|
<activity android:name=".ActivityManageActionSendBroadcast" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".ActivityMainTabLayout"
|
android:name=".ActivityMainTabLayout"
|
||||||
android:launchMode="singleTask">
|
android:launchMode="singleTask">
|
||||||
|
@ -150,6 +150,7 @@
|
|||||||
<activity android:name=".ActivityHelp" />
|
<activity android:name=".ActivityHelp" />
|
||||||
<activity android:name=".ActivityManageActionVibrate" />
|
<activity android:name=".ActivityManageActionVibrate" />
|
||||||
<activity android:name=".ActivityManageActionControlMedia" />
|
<activity android:name=".ActivityManageActionControlMedia" />
|
||||||
|
<activity android:name=".ActivityManageActionSendBroadcast" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".ActivityMainTabLayout"
|
android:name=".ActivityMainTabLayout"
|
||||||
android:launchMode="singleTask">
|
android:launchMode="singleTask">
|
||||||
|
@ -49,6 +49,7 @@ public class Action
|
|||||||
vibrate,
|
vibrate,
|
||||||
createNotification,
|
createNotification,
|
||||||
closeNotification,
|
closeNotification,
|
||||||
|
sendBroadcast,
|
||||||
sendTextMessage;
|
sendTextMessage;
|
||||||
|
|
||||||
public String getFullName(Context context)
|
public String getFullName(Context context)
|
||||||
@ -119,6 +120,8 @@ public class Action
|
|||||||
return context.getResources().getString(R.string.createNotification);
|
return context.getResources().getString(R.string.createNotification);
|
||||||
case closeNotification:
|
case closeNotification:
|
||||||
return context.getResources().getString(R.string.closeNotifications);
|
return context.getResources().getString(R.string.closeNotifications);
|
||||||
|
case sendBroadcast:
|
||||||
|
return context.getResources().getString(R.string.sendBroadcast);
|
||||||
default:
|
default:
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
@ -259,6 +262,9 @@ public class Action
|
|||||||
case closeNotification:
|
case closeNotification:
|
||||||
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.closeNotifications));
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.closeNotifications));
|
||||||
break;
|
break;
|
||||||
|
case sendBroadcast:
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.sendBroadcast));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
returnString.append(action.toString());
|
returnString.append(action.toString());
|
||||||
}
|
}
|
||||||
@ -534,6 +540,9 @@ public class Action
|
|||||||
else
|
else
|
||||||
Miscellaneous.logEvent("w", "Close notification", "Close notification was requested, but OS version is too low: " + String.valueOf(Build.VERSION.SDK_INT), 2);
|
Miscellaneous.logEvent("w", "Close notification", "Close notification was requested, but OS version is too low: " + String.valueOf(Build.VERSION.SDK_INT), 2);
|
||||||
break;
|
break;
|
||||||
|
case sendBroadcast:
|
||||||
|
Actions.sendBroadcast(context, this.getParameter2());
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
Miscellaneous.logEvent("w", "Action", context.getResources().getString(R.string.unknownActionSpecified), 3);
|
Miscellaneous.logEvent("w", "Action", context.getResources().getString(R.string.unknownActionSpecified), 3);
|
||||||
break;
|
break;
|
||||||
@ -637,7 +646,7 @@ public class Action
|
|||||||
//Do something with result
|
//Do something with result
|
||||||
//Toast.makeText(context, text, duration) result;
|
//Toast.makeText(context, text, duration) result;
|
||||||
Miscellaneous.logEvent("i", "HTTP RESULT", result, 3);
|
Miscellaneous.logEvent("i", "HTTP RESULT", result, 3);
|
||||||
Actions myAction=new Actions();
|
Actions myAction = new Actions();
|
||||||
myAction.useDownloadedWebpage(result);
|
myAction.useDownloadedWebpage(result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -185,7 +185,15 @@ public class Actions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class WifiStuff
|
public static void sendBroadcast(Context context, String action)
|
||||||
|
{
|
||||||
|
Miscellaneous.logEvent("i", "sendBroadcast", "Sending broadcast with action " + action, 5);
|
||||||
|
Intent broadcastIntent = new Intent();
|
||||||
|
broadcastIntent.setAction(action);
|
||||||
|
context.sendBroadcast(broadcastIntent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class WifiStuff
|
||||||
{
|
{
|
||||||
public static Boolean setWifi(Context context, Boolean desiredState, boolean toggleActionIfPossible)
|
public static Boolean setWifi(Context context, Boolean desiredState, boolean toggleActionIfPossible)
|
||||||
{
|
{
|
||||||
|
@ -0,0 +1,83 @@
|
|||||||
|
package com.jens.automation2;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.EditText;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
public class ActivityManageActionSendBroadcast extends Activity
|
||||||
|
{
|
||||||
|
EditText etBroadcastToSend;
|
||||||
|
Button bBroadcastSendShowSuggestions, bSaveSendBroadcast;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(@Nullable Bundle savedInstanceState)
|
||||||
|
{
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_manage_action_send_broadcast);
|
||||||
|
|
||||||
|
etBroadcastToSend = (EditText)findViewById(R.id.etBroadcastToSend);
|
||||||
|
bBroadcastSendShowSuggestions = (Button)findViewById(R.id.bBroadcastSendShowSuggestions);
|
||||||
|
bSaveSendBroadcast = (Button)findViewById(R.id.bSaveSendBroadcast);
|
||||||
|
|
||||||
|
bSaveSendBroadcast.setOnClickListener(new View.OnClickListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onClick(View view)
|
||||||
|
{
|
||||||
|
if(checkInput())
|
||||||
|
{
|
||||||
|
Intent answer = new Intent();
|
||||||
|
answer.putExtra(ActivityManageRule.intentNameActionParameter2, etBroadcastToSend.getText().toString());
|
||||||
|
setResult(RESULT_OK, answer);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
bBroadcastSendShowSuggestions.setOnClickListener(new View.OnClickListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onClick(View v)
|
||||||
|
{
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(ActivityManageActionSendBroadcast.this);
|
||||||
|
builder.setTitle(getResources().getString(R.string.selectBroadcast));
|
||||||
|
builder.setItems(ActivityManageTriggerBroadcast.broadcastSuggestions, new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialogInterface, int which)
|
||||||
|
{
|
||||||
|
etBroadcastToSend.setText(ActivityManageTriggerBroadcast.broadcastSuggestions[which]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
builder.create().show();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
Intent input = getIntent();
|
||||||
|
|
||||||
|
if(input.hasExtra(ActivityManageRule.intentNameActionParameter2))
|
||||||
|
etBroadcastToSend.setText(input.getStringExtra(ActivityManageRule.intentNameActionParameter2));
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean checkInput()
|
||||||
|
{
|
||||||
|
String broadcastToSend = etBroadcastToSend.getText().toString();
|
||||||
|
if(StringUtils.isEmpty(broadcastToSend))
|
||||||
|
{
|
||||||
|
Toast.makeText(ActivityManageActionSendBroadcast.this, getResources().getString(R.string.enterBroadcast), Toast.LENGTH_SHORT).show();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
@ -121,6 +121,8 @@ public class ActivityManageRule extends Activity
|
|||||||
final static int requestCodeActionControlMediaEdit = 808;
|
final static int requestCodeActionControlMediaEdit = 808;
|
||||||
final static int requestCodeTriggerBroadcastReceivedAdd = 809;
|
final static int requestCodeTriggerBroadcastReceivedAdd = 809;
|
||||||
final static int requestCodeTriggerBroadcastReceivedEdit = 810;
|
final static int requestCodeTriggerBroadcastReceivedEdit = 810;
|
||||||
|
final static int requestCodeActionSendBroadcastAdd = 811;
|
||||||
|
final static int requestCodeActionSendBroadcastEdit = 812;
|
||||||
|
|
||||||
public static ActivityManageRule getInstance()
|
public static ActivityManageRule getInstance()
|
||||||
{
|
{
|
||||||
@ -375,6 +377,11 @@ public class ActivityManageRule extends Activity
|
|||||||
activityEditVibrateIntent.putExtra("vibratePattern", a.getParameter2());
|
activityEditVibrateIntent.putExtra("vibratePattern", a.getParameter2());
|
||||||
startActivityForResult(activityEditVibrateIntent, requestCodeActionVibrateEdit);
|
startActivityForResult(activityEditVibrateIntent, requestCodeActionVibrateEdit);
|
||||||
break;
|
break;
|
||||||
|
case sendBroadcast:
|
||||||
|
Intent activityEditSendBroadcastIntent = new Intent(ActivityManageRule.this, ActivityManageActionSendBroadcast.class);
|
||||||
|
activityEditSendBroadcastIntent.putExtra(intentNameActionParameter2, a.getParameter2());
|
||||||
|
startActivityForResult(activityEditSendBroadcastIntent, requestCodeActionSendBroadcastEdit);
|
||||||
|
break;
|
||||||
case controlMediaPlayback:
|
case controlMediaPlayback:
|
||||||
Intent activityEditControlMediaIntent = new Intent(ActivityManageRule.this, ActivityManageActionControlMedia.class);
|
Intent activityEditControlMediaIntent = new Intent(ActivityManageRule.this, ActivityManageActionControlMedia.class);
|
||||||
activityEditControlMediaIntent.putExtra(ActivityManageRule.intentNameActionParameter2, a.getParameter2());
|
activityEditControlMediaIntent.putExtra(ActivityManageRule.intentNameActionParameter2, a.getParameter2());
|
||||||
@ -1472,6 +1479,16 @@ public class ActivityManageRule extends Activity
|
|||||||
this.refreshActionList();
|
this.refreshActionList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(requestCode == requestCodeActionSendBroadcastAdd)
|
||||||
|
{
|
||||||
|
if(resultCode == RESULT_OK)
|
||||||
|
{
|
||||||
|
newAction.setParentRule(ruleToEdit);
|
||||||
|
newAction.setParameter2(data.getStringExtra(intentNameActionParameter2));
|
||||||
|
ruleToEdit.getActionSet().add(newAction);
|
||||||
|
this.refreshActionList();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if(requestCode == requestCodeActionControlMediaAdd)
|
else if(requestCode == requestCodeActionControlMediaAdd)
|
||||||
{
|
{
|
||||||
if(resultCode == RESULT_OK)
|
if(resultCode == RESULT_OK)
|
||||||
@ -1518,6 +1535,18 @@ public class ActivityManageRule extends Activity
|
|||||||
this.refreshActionList();
|
this.refreshActionList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if(requestCode == requestCodeActionSendBroadcastEdit)
|
||||||
|
{
|
||||||
|
if(resultCode == RESULT_OK)
|
||||||
|
{
|
||||||
|
ruleToEdit.getActionSet().get(editIndex).setParentRule(ruleToEdit);
|
||||||
|
|
||||||
|
if(data.hasExtra(intentNameActionParameter2))
|
||||||
|
ruleToEdit.getActionSet().get(editIndex).setParameter2(data.getStringExtra(intentNameActionParameter2));
|
||||||
|
|
||||||
|
this.refreshActionList();
|
||||||
|
}
|
||||||
|
}
|
||||||
else if(requestCode == requestCodeActionControlMediaEdit)
|
else if(requestCode == requestCodeActionControlMediaEdit)
|
||||||
{
|
{
|
||||||
if(resultCode == RESULT_OK)
|
if(resultCode == RESULT_OK)
|
||||||
@ -1728,6 +1757,8 @@ public class ActivityManageRule extends Activity
|
|||||||
items.add(new Item(typesLong[i].toString(), R.drawable.notification));
|
items.add(new Item(typesLong[i].toString(), R.drawable.notification));
|
||||||
else if(types[i].toString().equals(Action_Enum.closeNotification.toString()))
|
else if(types[i].toString().equals(Action_Enum.closeNotification.toString()))
|
||||||
items.add(new Item(typesLong[i].toString(), R.drawable.notification));
|
items.add(new Item(typesLong[i].toString(), R.drawable.notification));
|
||||||
|
else if(types[i].toString().equals(Action_Enum.sendBroadcast.toString()))
|
||||||
|
items.add(new Item(typesLong[i].toString(), R.drawable.satellite));
|
||||||
else if(types[i].toString().equals(Action_Enum.sendTextMessage.toString()))
|
else if(types[i].toString().equals(Action_Enum.sendTextMessage.toString()))
|
||||||
{
|
{
|
||||||
// if(ActivityPermissions.isPermissionDeclaratedInManifest(ActivityManageSpecificRule.this, "android.permission.SEND_SMS") && !Miscellaneous.isGooglePlayInstalled(ActivityManageSpecificRule.this))
|
// if(ActivityPermissions.isPermissionDeclaratedInManifest(ActivityManageSpecificRule.this, "android.permission.SEND_SMS") && !Miscellaneous.isGooglePlayInstalled(ActivityManageSpecificRule.this))
|
||||||
@ -1890,6 +1921,12 @@ public class ActivityManageRule extends Activity
|
|||||||
Intent intent = new Intent(ActivityManageRule.this, ActivityManageActionVibrate.class);
|
Intent intent = new Intent(ActivityManageRule.this, ActivityManageActionVibrate.class);
|
||||||
startActivityForResult(intent, requestCodeActionVibrateAdd);
|
startActivityForResult(intent, requestCodeActionVibrateAdd);
|
||||||
}
|
}
|
||||||
|
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.sendBroadcast.toString()))
|
||||||
|
{
|
||||||
|
newAction.setAction(Action_Enum.sendBroadcast);
|
||||||
|
Intent intent = new Intent(ActivityManageRule.this, ActivityManageActionSendBroadcast.class);
|
||||||
|
startActivityForResult(intent, requestCodeActionSendBroadcastAdd);
|
||||||
|
}
|
||||||
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.controlMediaPlayback.toString()))
|
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.controlMediaPlayback.toString()))
|
||||||
{
|
{
|
||||||
newAction.setAction(Action_Enum.controlMediaPlayback);
|
newAction.setAction(Action_Enum.controlMediaPlayback);
|
||||||
|
@ -96,7 +96,7 @@ public class ActivityManageTriggerBroadcast extends Activity
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
String[] broadcastSuggestions = {
|
public static String[] broadcastSuggestions = {
|
||||||
"android.accounts.LOGIN_ACCOUNTS_CHANGED",
|
"android.accounts.LOGIN_ACCOUNTS_CHANGED",
|
||||||
"android.accounts.action.ACCOUNT_REMOVED",
|
"android.accounts.action.ACCOUNT_REMOVED",
|
||||||
"android.app.action.ACTION_PASSWORD_CHANGED",
|
"android.app.action.ACTION_PASSWORD_CHANGED",
|
||||||
|
@ -12,6 +12,7 @@ import android.provider.Settings;
|
|||||||
|
|
||||||
import androidx.annotation.RequiresApi;
|
import androidx.annotation.RequiresApi;
|
||||||
|
|
||||||
|
import com.jens.automation2.Actions;
|
||||||
import com.jens.automation2.ActivityPermissions;
|
import com.jens.automation2.ActivityPermissions;
|
||||||
import com.jens.automation2.AutomationService;
|
import com.jens.automation2.AutomationService;
|
||||||
import com.jens.automation2.Miscellaneous;
|
import com.jens.automation2.Miscellaneous;
|
||||||
@ -134,11 +135,11 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation
|
|||||||
|
|
||||||
if(keyguardManager.isKeyguardLocked() && !keyguardManager.isDeviceLocked())
|
if(keyguardManager.isKeyguardLocked() && !keyguardManager.isDeviceLocked())
|
||||||
{
|
{
|
||||||
sendLockBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithoutSecurity);
|
Actions.sendBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithoutSecurity);
|
||||||
}
|
}
|
||||||
else if(keyguardManager.isDeviceLocked())
|
else if(keyguardManager.isDeviceLocked())
|
||||||
{
|
{
|
||||||
sendLockBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithSecurity);
|
Actions.sendBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithSecurity);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -232,13 +233,13 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation
|
|||||||
|
|
||||||
if(keyguardManager.isKeyguardLocked() && !keyguardManager.isDeviceLocked())
|
if(keyguardManager.isKeyguardLocked() && !keyguardManager.isDeviceLocked())
|
||||||
{
|
{
|
||||||
sendLockBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithoutSecurity);
|
Actions.sendBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithoutSecurity);
|
||||||
timer.purge();
|
timer.purge();
|
||||||
timer.cancel();
|
timer.cancel();
|
||||||
}
|
}
|
||||||
else if(keyguardManager.isDeviceLocked())
|
else if(keyguardManager.isDeviceLocked())
|
||||||
{
|
{
|
||||||
sendLockBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithSecurity);
|
Actions.sendBroadcast(Miscellaneous.getAnyContext(), broadcastScreenLockedWithSecurity);
|
||||||
timer.purge();
|
timer.purge();
|
||||||
timer.cancel();
|
timer.cancel();
|
||||||
}
|
}
|
||||||
@ -270,11 +271,4 @@ public class ScreenStateReceiver extends BroadcastReceiver implements Automation
|
|||||||
timer.scheduleAtFixedRate(task, 0, interval);
|
timer.scheduleAtFixedRate(task, 0, interval);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sendLockBroadcast(Context context, String lockType)
|
|
||||||
{
|
|
||||||
Intent lockedBroadcastIntent = new Intent();
|
|
||||||
lockedBroadcastIntent.setAction(lockType);
|
|
||||||
context.sendBroadcast(lockedBroadcastIntent);
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -0,0 +1,47 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/default_margin" >
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_span="2"
|
||||||
|
android:textSize="25dp"
|
||||||
|
android:textStyle="bold"
|
||||||
|
android:layout_marginBottom="@dimen/default_margin"
|
||||||
|
android:text="@string/sendBroadcast" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/broadcastExplanation" />
|
||||||
|
|
||||||
|
<EditText
|
||||||
|
android:id="@+id/etBroadcastToSend"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginVertical="@dimen/default_margin"/>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/bBroadcastSendShowSuggestions"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginVertical="@dimen/default_margin"
|
||||||
|
android:text="@string/broadcastsShowSuggestions" />
|
||||||
|
|
||||||
|
<Button
|
||||||
|
android:id="@+id/bSaveSendBroadcast"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/save" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</ScrollView>
|
@ -716,7 +716,5 @@
|
|||||||
<string name="lockedWithoutSecurity">gesperrt (nur wischen, keine PIN, etc.)</string>
|
<string name="lockedWithoutSecurity">gesperrt (nur wischen, keine PIN, etc.)</string>
|
||||||
<string name="lockedWithSecurity">gesperrt (mit PIN, etc.)</string>
|
<string name="lockedWithSecurity">gesperrt (mit PIN, etc.)</string>
|
||||||
<string name="lockedCommentScreenMustBeOff">Jeglicher Sperrzustand wird nur erkannt werden, wenn gleichzeitig der Bildschirm aus ist.</string>
|
<string name="lockedCommentScreenMustBeOff">Jeglicher Sperrzustand wird nur erkannt werden, wenn gleichzeitig der Bildschirm aus ist.</string>
|
||||||
<string name="lockedCommentScreenMustBeOff">J</string>
|
|
||||||
<string name="emailPretext">Wenn Sie ein Problem, einen Vorschlag oder eine Frage haben, schreiben Sie bitte auch etwas in die Email. Senden Sie mir nicht einfach die Dateien mit dem Standard-Mailtext. Ich werde solche Nachrichten ignorieren, sollten wir nicht bereits in einer Konversation sein.</string>
|
<string name="emailPretext">Wenn Sie ein Problem, einen Vorschlag oder eine Frage haben, schreiben Sie bitte auch etwas in die Email. Senden Sie mir nicht einfach die Dateien mit dem Standard-Mailtext. Ich werde solche Nachrichten ignorieren, sollten wir nicht bereits in einer Konversation sein.</string>
|
||||||
<string name="emailPretext">W</string>
|
</resources>
|
||||||
</resources>
|
|
@ -816,4 +816,7 @@
|
|||||||
<string name="lockedWithSecurity">locked (with PIN, etc.)</string>
|
<string name="lockedWithSecurity">locked (with PIN, etc.)</string>
|
||||||
<string name="lockedCommentScreenMustBeOff">Any state of locked will only be detected if the screen is off.</string>
|
<string name="lockedCommentScreenMustBeOff">Any state of locked will only be detected if the screen is off.</string>
|
||||||
<string name="emailPretext">If you have a problem, suggestions or question, please write something in the email. Do not just send me the files with the default mail body. I will ignore everything those unless we\'re already in a conversation.</string>
|
<string name="emailPretext">If you have a problem, suggestions or question, please write something in the email. Do not just send me the files with the default mail body. I will ignore everything those unless we\'re already in a conversation.</string>
|
||||||
|
<string name="sendBroadcast">Send broadcast</string>
|
||||||
|
<string name="enterBroadcast">Enter a broadcast action.</string>
|
||||||
|
<string name="broadcastExplanation">This action allows to send a broadcast across the Android OS messaging system. This is not user-visible, but apps who listen for that specific broadcast can respond to it being sent.</string>
|
||||||
</resources>
|
</resources>
|
@ -21,6 +21,7 @@ Mögliche Auslöser:
|
|||||||
* Benachrichtigungen anderer Anwendungen
|
* Benachrichtigungen anderer Anwendungen
|
||||||
* Geräteausrichtung (Gyroskop)
|
* Geräteausrichtung (Gyroskop)
|
||||||
* Profile aktiv oder nicht
|
* Profile aktiv oder nicht
|
||||||
|
* Broadcasts anderer Anwendungen
|
||||||
|
|
||||||
Mögliche Aktionen:
|
Mögliche Aktionen:
|
||||||
* WLAN ein-/ausschalten
|
* WLAN ein-/ausschalten
|
||||||
@ -54,4 +55,4 @@ Spenden sind sicher eine gute, aber nicht die einzige Möglichkeit mich zu motiv
|
|||||||
* Wer mir etwas Gutes tun will, kann die Anwendung auch im Play Store bewerten (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
* Wer mir etwas Gutes tun will, kann die Anwendung auch im Play Store bewerten (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
||||||
* Außerdem ist Hilfe bei der Übersetzung willkommen. Englisch, Spanisch und Deutsch kann ich selbst. Aber sonst ist alles gern gesehen.
|
* Außerdem ist Hilfe bei der Übersetzung willkommen. Englisch, Spanisch und Deutsch kann ich selbst. Aber sonst ist alles gern gesehen.
|
||||||
|
|
||||||
Erklärungen zu den vielen Berechtigungen können hier abgerufen werden: https://server47.de/automation/permissions_de.html
|
Erklärungen zu den vielen Berechtigungen können hier abgerufen werden: https://server47.de/automation/permissions.php
|
@ -21,6 +21,7 @@ Supported triggers:
|
|||||||
* Notifications of other apps
|
* Notifications of other apps
|
||||||
* Device orientation (gyroscope)
|
* Device orientation (gyroscope)
|
||||||
* Profile active or not
|
* Profile active or not
|
||||||
|
* Broadcasts of other apps
|
||||||
|
|
||||||
Supported actions:
|
Supported actions:
|
||||||
* Change wifi state
|
* Change wifi state
|
||||||
@ -54,4 +55,4 @@ Donations are certainly a good, but not the only way to motivate me :-)
|
|||||||
* If you'd like to support me, you can also leave a positive review for the app on Google Play (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
* If you'd like to support me, you can also leave a positive review for the app on Google Play (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
||||||
* Furthermore I can always use help in translating the app. English, German and some Spanish are among my own skills. But everything else is more than welcome.
|
* Furthermore I can always use help in translating the app. English, German and some Spanish are among my own skills. But everything else is more than welcome.
|
||||||
|
|
||||||
Explanation of the many permissions can be found here: https://server47.de/automation/permissions_en.html
|
Explanation of the many permissions can be found here: https://server47.de/automation/permissions.php
|
@ -21,6 +21,7 @@ Disparadores:
|
|||||||
* Notificaciónes de otras apps
|
* Notificaciónes de otras apps
|
||||||
* Orientación del dispositivo (giroscopio)
|
* Orientación del dispositivo (giroscopio)
|
||||||
* Perfil activado o no
|
* Perfil activado o no
|
||||||
|
* Broadcasts de otras apps
|
||||||
|
|
||||||
Aciónes:
|
Aciónes:
|
||||||
* Pasar de wifi
|
* Pasar de wifi
|
||||||
@ -54,4 +55,4 @@ Donaciónes seguramente son una buena, pero no la unica posibilidad de apoyarme
|
|||||||
* Si quiere apoyarme puedes escribir un buena revisión en Google Play (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
* Si quiere apoyarme puedes escribir un buena revisión en Google Play (https://play.google.com/store/apps/details?id=com.jens.automation2).
|
||||||
* Además siempre necesito ayuda en traduciendo la app. Ingles, Aleman y Español estan en mis habilidades. Per todo lo demás es bienvenido.
|
* Además siempre necesito ayuda en traduciendo la app. Ingles, Aleman y Español estan en mis habilidades. Per todo lo demás es bienvenido.
|
||||||
|
|
||||||
Puedes leer una explicación de los permisos aqui: https://server47.de/automation/permissions_en.html
|
Puedes leer una explicación de los permisos aqui: https://server47.de/automation/permissions.php
|
@ -21,6 +21,7 @@ Eventi supportati:
|
|||||||
* Notificazione di un altra applicazione
|
* Notificazione di un altra applicazione
|
||||||
* Orientamento del dispositivo (giroscopio)
|
* Orientamento del dispositivo (giroscopio)
|
||||||
* Profilo attivo o meno
|
* Profilo attivo o meno
|
||||||
|
* Broadcasts di altre app
|
||||||
|
|
||||||
Azioni supportate:
|
Azioni supportate:
|
||||||
* Cambia lo stato del wifi
|
* Cambia lo stato del wifi
|
||||||
@ -56,8 +57,7 @@ Donativi sono sicuramente una buona forma di motivarmi, ma non l'unica :-)
|
|||||||
Inglese, Tedesco e un po' di Spagnolo son parte delle mie abilità. Ma per tutte le altre, apprezzo molto ogni aiuto.
|
Inglese, Tedesco e un po' di Spagnolo son parte delle mie abilità. Ma per tutte le altre, apprezzo molto ogni aiuto.
|
||||||
|
|
||||||
Una spiegazione di tutti i permessi si trova qui:
|
Una spiegazione di tutti i permessi si trova qui:
|
||||||
https://server47.de/automation/permissions_en.html
|
https://server47.de/automation/permissions.php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ Ondersteunde triggers:
|
|||||||
* Meldingen van andere apps
|
* Meldingen van andere apps
|
||||||
* Apparaat oriëntatie (gyroscoop)
|
* Apparaat oriëntatie (gyroscoop)
|
||||||
* Profiel actief of niet
|
* Profiel actief of niet
|
||||||
|
* Broadcasts van andere apps
|
||||||
|
|
||||||
Ondersteunde acties:
|
Ondersteunde acties:
|
||||||
* Wijzig wifi status
|
* Wijzig wifi status
|
||||||
@ -57,4 +58,4 @@ Donaties zijn zeker een goede, maar niet de enige manier om mij te motiveren :-)
|
|||||||
* Als je me wilt steunen, kun je ook een positieve review voor de app achterlaten op Google Play ( https://play.google.com/store/apps/details?id=com.jens.automation2 ).
|
* Als je me wilt steunen, kun je ook een positieve review voor de app achterlaten op Google Play ( https://play.google.com/store/apps/details?id=com.jens.automation2 ).
|
||||||
* Verder kan ik altijd hulp gebruiken bij het vertalen van de app. Engels, Duits en wat Spaans behoren tot mijn eigen vaardigheden. Maar al het andere is meer dan welkom.
|
* Verder kan ik altijd hulp gebruiken bij het vertalen van de app. Engels, Duits en wat Spaans behoren tot mijn eigen vaardigheden. Maar al het andere is meer dan welkom.
|
||||||
|
|
||||||
Uitleg van de vele permissies vind je hier (Engels) : https://server47.de/automation/permissions_en.html
|
Uitleg van de vele permissies vind je hier (Engels) : https://server47.de/automation/permissions.php
|
BIN
fastlane/metadata/android/nl-NL/images/phoneScreenshots/5.png
Normal file
BIN
fastlane/metadata/android/nl-NL/images/phoneScreenshots/5.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 219 KiB |
BIN
fastlane/metadata/android/nl-NL/images/phoneScreenshots/6.png
Normal file
BIN
fastlane/metadata/android/nl-NL/images/phoneScreenshots/6.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 188 KiB |
Loading…
Reference in New Issue
Block a user