forked from jens/Automation
control media playback
This commit is contained in:
parent
0c5b4d3874
commit
88f4d65b19
@ -41,6 +41,7 @@ public class Action
|
|||||||
setDataConnection,
|
setDataConnection,
|
||||||
speakText,
|
speakText,
|
||||||
playMusic,
|
playMusic,
|
||||||
|
controlMediaPlayback,
|
||||||
setScreenBrightness,
|
setScreenBrightness,
|
||||||
playSound,
|
playSound,
|
||||||
vibrate,
|
vibrate,
|
||||||
@ -104,6 +105,8 @@ public class Action
|
|||||||
return context.getResources().getString(R.string.actionSpeakText);
|
return context.getResources().getString(R.string.actionSpeakText);
|
||||||
case playMusic:
|
case playMusic:
|
||||||
return context.getResources().getString(R.string.actionPlayMusic);
|
return context.getResources().getString(R.string.actionPlayMusic);
|
||||||
|
case controlMediaPlayback:
|
||||||
|
return context.getResources().getString(R.string.actionMediaControl);
|
||||||
case playSound:
|
case playSound:
|
||||||
return context.getResources().getString(R.string.playSound);
|
return context.getResources().getString(R.string.playSound);
|
||||||
case sendTextMessage:
|
case sendTextMessage:
|
||||||
@ -160,7 +163,6 @@ public class Action
|
|||||||
{
|
{
|
||||||
StringBuilder returnString = new StringBuilder();
|
StringBuilder returnString = new StringBuilder();
|
||||||
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
switch (getAction())
|
switch (getAction())
|
||||||
@ -225,6 +227,9 @@ public class Action
|
|||||||
case playMusic:
|
case playMusic:
|
||||||
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.actionPlayMusic));
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.actionPlayMusic));
|
||||||
break;
|
break;
|
||||||
|
case controlMediaPlayback:
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.actionMediaControl));
|
||||||
|
break;
|
||||||
case sendTextMessage:
|
case sendTextMessage:
|
||||||
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.sendTextMessage));
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.sendTextMessage));
|
||||||
break;
|
break;
|
||||||
@ -311,6 +316,27 @@ public class Action
|
|||||||
returnString.append(", " + Miscellaneous.getAnyContext().getResources().getString(R.string.ifString) + " " + Miscellaneous.getAnyContext().getResources().getString(R.string.text) + " " + Trigger.getMatchString(parts[3]) + " " + parts[4]);
|
returnString.append(", " + Miscellaneous.getAnyContext().getResources().getString(R.string.ifString) + " " + Miscellaneous.getAnyContext().getResources().getString(R.string.text) + " " + Trigger.getMatchString(parts[3]) + " " + parts[4]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
else if(this.getAction().equals(Action_Enum.controlMediaPlayback))
|
||||||
|
{
|
||||||
|
switch (this.getParameter2())
|
||||||
|
{
|
||||||
|
case "0":
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.playPause));
|
||||||
|
break;
|
||||||
|
case "1":
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.play));
|
||||||
|
break;
|
||||||
|
case "2":
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.pause));
|
||||||
|
break;
|
||||||
|
case "3":
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.previous));
|
||||||
|
break;
|
||||||
|
case "4":
|
||||||
|
returnString.append(Miscellaneous.getAnyContext().getResources().getString(R.string.next));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (parameter2 != null && parameter2.length() > 0)
|
else if (parameter2 != null && parameter2.length() > 0)
|
||||||
returnString.append(": " + parameter2.replace(Action.actionParameter2Split, "; "));
|
returnString.append(": " + parameter2.replace(Action.actionParameter2Split, "; "));
|
||||||
}
|
}
|
||||||
|
@ -1452,23 +1452,7 @@ public class Actions
|
|||||||
playMusicIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
playMusicIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
context.startActivity(playMusicIntent);
|
context.startActivity(playMusicIntent);
|
||||||
|
|
||||||
// playMusicIntent = new Intent();
|
|
||||||
// playMusicIntent.setAction(android.content.Intent.ACTION_VIEW);
|
|
||||||
// File file = new File(YOUR_SONG_URI);
|
|
||||||
// playMusicIntent.setDataAndType(Uri.fromFile(file), "audio/*");
|
|
||||||
// context.startActivity(playMusicIntent);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// if(playMusicIntent != null)
|
|
||||||
// {
|
|
||||||
// context.stopService(playMusicIntent);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return false;
|
|
||||||
}
|
}
|
||||||
catch (ActivityNotFoundException e)
|
catch (ActivityNotFoundException e)
|
||||||
{
|
{
|
||||||
@ -1484,6 +1468,38 @@ public class Actions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean controlMediaPlayback(Context context, int command)
|
||||||
|
{
|
||||||
|
AudioManager mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
|
||||||
|
|
||||||
|
if (mAudioManager.isMusicActive()) {
|
||||||
|
|
||||||
|
Intent.CATEGORY_APP_MUSIC
|
||||||
|
Intent i = new Intent("com.android.music.musicservicecommand");
|
||||||
|
|
||||||
|
i.putExtra("command", "pause");
|
||||||
|
|
||||||
|
switch(command)
|
||||||
|
{
|
||||||
|
public static final String SERVICECMD = "com.android.music.musicservicecommand";
|
||||||
|
public static final String CMDNAME = "command";
|
||||||
|
|
||||||
|
public static final String CMDSTOP = "stop";
|
||||||
|
public static final String CMDPAUSE = "pause";
|
||||||
|
public static final String CMDPREVIOUS = "previous";
|
||||||
|
public static final String CMDNEXT = "next";
|
||||||
|
|
||||||
|
case 0:
|
||||||
|
i.putExtra("command", "togglepause");
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
i.putExtra("command", "pause");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
context.this.sendBroadcast(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private String getTransactionCode()
|
private String getTransactionCode()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -65,14 +65,11 @@ public class ActivityManageRule extends Activity
|
|||||||
static ProgressDialog progressDialog = null;
|
static ProgressDialog progressDialog = null;
|
||||||
|
|
||||||
static Trigger_Enum triggerType;
|
static Trigger_Enum triggerType;
|
||||||
static boolean triggerParameter;
|
|
||||||
static PointOfInterest triggerPoi;
|
static PointOfInterest triggerPoi;
|
||||||
static String triggerProcess;
|
static String triggerProcess;
|
||||||
static int triggerBattery;
|
static int triggerBattery;
|
||||||
static double triggerSpeed;
|
static double triggerSpeed;
|
||||||
static double triggerNoise;
|
static double triggerNoise;
|
||||||
static TimeFrame triggerTimeFrame;
|
|
||||||
static String triggerWifiName;
|
|
||||||
|
|
||||||
static Rule ruleToEdit;
|
static Rule ruleToEdit;
|
||||||
static boolean newRule;
|
static boolean newRule;
|
||||||
@ -604,7 +601,9 @@ public class ActivityManageRule extends Activity
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(triggerType == Trigger_Enum.process_started_stopped)
|
else if(triggerType == Trigger_Enum.process_started_stopped)
|
||||||
|
{
|
||||||
booleanChoices = new String[]{getResources().getString(R.string.started), getResources().getString(R.string.stopped)};
|
booleanChoices = new String[]{getResources().getString(R.string.started), getResources().getString(R.string.stopped)};
|
||||||
|
}
|
||||||
else if(triggerType == Trigger_Enum.notification)
|
else if(triggerType == Trigger_Enum.notification)
|
||||||
{
|
{
|
||||||
newTrigger.setTriggerType(Trigger_Enum.notification);
|
newTrigger.setTriggerType(Trigger_Enum.notification);
|
||||||
@ -700,6 +699,9 @@ public class ActivityManageRule extends Activity
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
getTriggerParameterDialog(context, booleanChoices).show();
|
getTriggerParameterDialog(context, booleanChoices).show();
|
||||||
|
|
||||||
|
if(triggerType.equals(Trigger_Enum.process_started_stopped))
|
||||||
|
Miscellaneous.messageBox(getResources().getString(R.string.info), String.format(getResources().getString(R.string.featureCeasedToWorkLastWorkingAndroidVersion), "7"), ActivityManageRule.this).show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -1612,6 +1614,8 @@ public class ActivityManageRule extends Activity
|
|||||||
items.add(new Item(typesLong[i].toString(), R.drawable.talking));
|
items.add(new Item(typesLong[i].toString(), R.drawable.talking));
|
||||||
else if(types[i].toString().equals(Action_Enum.playMusic.toString()))
|
else if(types[i].toString().equals(Action_Enum.playMusic.toString()))
|
||||||
items.add(new Item(typesLong[i].toString(), R.drawable.tune));
|
items.add(new Item(typesLong[i].toString(), R.drawable.tune));
|
||||||
|
else if(types[i].toString().equals(Action_Enum.controlMediaPlayback.toString()))
|
||||||
|
items.add(new Item(typesLong[i].toString(), R.drawable.tune));
|
||||||
else if(types[i].toString().equals(Action_Enum.setScreenBrightness.toString()))
|
else if(types[i].toString().equals(Action_Enum.setScreenBrightness.toString()))
|
||||||
items.add(new Item(typesLong[i].toString(), R.drawable.brightness));
|
items.add(new Item(typesLong[i].toString(), R.drawable.brightness));
|
||||||
else if(types[i].toString().equals(Action_Enum.playSound.toString()))
|
else if(types[i].toString().equals(Action_Enum.playSound.toString()))
|
||||||
@ -1778,6 +1782,11 @@ public class ActivityManageRule extends Activity
|
|||||||
ruleToEdit.getActionSet().add(newAction);
|
ruleToEdit.getActionSet().add(newAction);
|
||||||
refreshActionList();
|
refreshActionList();
|
||||||
}
|
}
|
||||||
|
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.controlMediaPlayback.toString()))
|
||||||
|
{
|
||||||
|
newAction.setAction(Action_Enum.controlMediaPlayback);
|
||||||
|
getActionControlMediaPlayback(ActivityManageRule.this).show();
|
||||||
|
}
|
||||||
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.vibrate.toString()))
|
else if(Action.getActionTypesAsArray()[which].toString().equals(Action_Enum.vibrate.toString()))
|
||||||
{
|
{
|
||||||
newAction.setAction(Action_Enum.vibrate);
|
newAction.setAction(Action_Enum.vibrate);
|
||||||
@ -2021,6 +2030,27 @@ public class ActivityManageRule extends Activity
|
|||||||
return alertDialog;
|
return alertDialog;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private AlertDialog getActionControlMediaPlayback(final Context myContext)
|
||||||
|
{
|
||||||
|
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
|
||||||
|
alertDialogBuilder.setTitle(myContext.getResources().getString(R.string.selectCommand));
|
||||||
|
final String choices[] = { myContext.getString(R.string.playPause), myContext.getString(R.string.play), myContext.getString(R.string.pause), myContext.getString(R.string.previous), myContext.getString(R.string.next) };
|
||||||
|
alertDialogBuilder.setItems(choices, new DialogInterface.OnClickListener()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which)
|
||||||
|
{
|
||||||
|
newAction.setParameter2(String.valueOf(which));
|
||||||
|
|
||||||
|
ruleToEdit.getActionSet().add(newAction);
|
||||||
|
refreshActionList();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
AlertDialog alertDialog = alertDialogBuilder.create();
|
||||||
|
|
||||||
|
return alertDialog;
|
||||||
|
}
|
||||||
|
|
||||||
protected void refreshTriggerList()
|
protected void refreshTriggerList()
|
||||||
{
|
{
|
||||||
Miscellaneous.logEvent("i", "ListView", "Attempting to update TriggerListView", 4);
|
Miscellaneous.logEvent("i", "ListView", "Attempting to update TriggerListView", 4);
|
||||||
|
@ -358,9 +358,10 @@ public class ActivityPermissions extends Activity
|
|||||||
for (Rule rule : Rule.getRuleCollection())
|
for (Rule rule : Rule.getRuleCollection())
|
||||||
{
|
{
|
||||||
for (String singlePermission : getPermissionsForRule(rule))
|
for (String singlePermission : getPermissionsForRule(rule))
|
||||||
|
{
|
||||||
if (!havePermission(singlePermission, workingContext))
|
if (!havePermission(singlePermission, workingContext))
|
||||||
{
|
{
|
||||||
if(
|
if (
|
||||||
|
|
||||||
singlePermission.equalsIgnoreCase(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
|
singlePermission.equalsIgnoreCase(Manifest.permission.ACCESS_BACKGROUND_LOCATION)
|
||||||
||
|
||
|
||||||
@ -372,9 +373,9 @@ public class ActivityPermissions extends Activity
|
|||||||
if (!Miscellaneous.googleToBlameForLocation(true))
|
if (!Miscellaneous.googleToBlameForLocation(true))
|
||||||
addToArrayListUnique(singlePermission, requiredPermissions);
|
addToArrayListUnique(singlePermission, requiredPermissions);
|
||||||
}
|
}
|
||||||
else if(singlePermission.equalsIgnoreCase(Manifest.permission.ACTIVITY_RECOGNITION) || singlePermission.equalsIgnoreCase(permissionNameGoogleActivityDetection))
|
else if (singlePermission.equalsIgnoreCase(Manifest.permission.ACTIVITY_RECOGNITION) || singlePermission.equalsIgnoreCase(permissionNameGoogleActivityDetection))
|
||||||
{
|
{
|
||||||
if(!BuildConfig.FLAVOR.equalsIgnoreCase("fdroidFlavor"))
|
if (!BuildConfig.FLAVOR.equalsIgnoreCase("fdroidFlavor"))
|
||||||
addToArrayListUnique(singlePermission, requiredPermissions);
|
addToArrayListUnique(singlePermission, requiredPermissions);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -382,6 +383,7 @@ public class ActivityPermissions extends Activity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Not all permissions need to be asked for.
|
Not all permissions need to be asked for.
|
||||||
@ -527,6 +529,9 @@ public class ActivityPermissions extends Activity
|
|||||||
break;
|
break;
|
||||||
case playMusic:
|
case playMusic:
|
||||||
break;
|
break;
|
||||||
|
case controlMediaPlayback:
|
||||||
|
addToArrayListUnique(Manifest.permission.BIND_NOTIFICATION_LISTENER_SERVICE, requiredPermissions);
|
||||||
|
break;
|
||||||
case sendTextMessage:
|
case sendTextMessage:
|
||||||
addToArrayListUnique(Manifest.permission.SEND_SMS, requiredPermissions);
|
addToArrayListUnique(Manifest.permission.SEND_SMS, requiredPermissions);
|
||||||
getPermissionsForVariablesInUse(action.getParameter2(), requiredPermissions);
|
getPermissionsForVariablesInUse(action.getParameter2(), requiredPermissions);
|
||||||
|
@ -37,6 +37,60 @@ import java.util.Date;
|
|||||||
|
|
||||||
public class Trigger
|
public class Trigger
|
||||||
{
|
{
|
||||||
|
public enum Trigger_Enum {
|
||||||
|
pointOfInterest, timeFrame, charging, batteryLevel, usb_host_connection, speed, noiseLevel, wifiConnection, process_started_stopped, airplaneMode, roaming, nfcTag, activityDetection, bluetoothConnection, headsetPlugged, notification, deviceOrientation, profileActive, screenState, phoneCall; //phoneCall always needs to be at the very end because of Google's shitty so called privacy
|
||||||
|
|
||||||
|
public String getFullName(Context context)
|
||||||
|
{
|
||||||
|
switch(this)
|
||||||
|
{
|
||||||
|
case pointOfInterest:
|
||||||
|
return context.getResources().getString(R.string.triggerPointOfInterest);
|
||||||
|
case timeFrame:
|
||||||
|
return context.getResources().getString(R.string.triggerTimeFrame);
|
||||||
|
case charging:
|
||||||
|
return context.getResources().getString(R.string.triggerCharging);
|
||||||
|
case batteryLevel:
|
||||||
|
return context.getResources().getString(R.string.batteryLevel);
|
||||||
|
case usb_host_connection:
|
||||||
|
return context.getResources().getString(R.string.triggerUsb_host_connection);
|
||||||
|
case speed:
|
||||||
|
return context.getResources().getString(R.string.triggerSpeed);
|
||||||
|
case noiseLevel:
|
||||||
|
return context.getResources().getString(R.string.triggerNoiseLevel);
|
||||||
|
case wifiConnection:
|
||||||
|
return context.getResources().getString(R.string.wifiConnection);
|
||||||
|
case process_started_stopped:
|
||||||
|
return context.getResources().getString(R.string.anotherAppIsRunning);
|
||||||
|
case airplaneMode:
|
||||||
|
return context.getResources().getString(R.string.airplaneMode);
|
||||||
|
case roaming:
|
||||||
|
return context.getResources().getString(R.string.roaming);
|
||||||
|
case phoneCall:
|
||||||
|
return context.getResources().getString(R.string.phoneCall);
|
||||||
|
case nfcTag:
|
||||||
|
return context.getResources().getString(R.string.nfcTag);
|
||||||
|
case activityDetection:
|
||||||
|
return context.getResources().getString(R.string.activityDetection);
|
||||||
|
case bluetoothConnection:
|
||||||
|
return context.getResources().getString(R.string.bluetoothConnection);
|
||||||
|
case headsetPlugged:
|
||||||
|
return context.getResources().getString(R.string.triggerHeadsetPlugged);
|
||||||
|
case notification:
|
||||||
|
return context.getResources().getString(R.string.notification);
|
||||||
|
case deviceOrientation:
|
||||||
|
return context.getResources().getString(R.string.deviceOrientation);
|
||||||
|
case profileActive:
|
||||||
|
return context.getResources().getString(R.string.profile);
|
||||||
|
case screenState:
|
||||||
|
return context.getResources().getString(R.string.screenState);
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
Rule parentRule = null;
|
Rule parentRule = null;
|
||||||
Calendar lastTimeNotApplied = null;
|
Calendar lastTimeNotApplied = null;
|
||||||
|
|
||||||
@ -974,8 +1028,6 @@ public class Trigger
|
|||||||
calSet.set(Calendar.SECOND, 0);
|
calSet.set(Calendar.SECOND, 0);
|
||||||
calSet.set(Calendar.MILLISECOND, 0);
|
calSet.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
// if(this.applies(null))
|
|
||||||
// {
|
|
||||||
// If the starting time is a day ahead remove 1 day.
|
// If the starting time is a day ahead remove 1 day.
|
||||||
if(calSet.getTimeInMillis() > now.getTimeInMillis())
|
if(calSet.getTimeInMillis() > now.getTimeInMillis())
|
||||||
calSet.add(Calendar.DAY_OF_MONTH, -1);
|
calSet.add(Calendar.DAY_OF_MONTH, -1);
|
||||||
@ -986,15 +1038,7 @@ public class Trigger
|
|||||||
Calendar calSchedule = Calendar.getInstance();
|
Calendar calSchedule = Calendar.getInstance();
|
||||||
calSchedule.setTimeInMillis(nextScheduleTimestamp * 1000);
|
calSchedule.setTimeInMillis(nextScheduleTimestamp * 1000);
|
||||||
|
|
||||||
/*
|
|
||||||
* Das war mal aktiviert. Allerdings: Die ganze Funktion liefert zurück, wenn die Regel NOCH nicht
|
|
||||||
* zutrifft, aber wir z.B. gleich den zeitlichen Bereich betreten.
|
|
||||||
*/
|
|
||||||
// if(trigger.checkDateTime(calSchedule.getTime(), false))
|
|
||||||
// {
|
|
||||||
return calSchedule;
|
return calSchedule;
|
||||||
// }
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Miscellaneous.logEvent("i", "Trigger", "Trigger " + trigger.toString() + " is not executed repeatedly.", 5);
|
Miscellaneous.logEvent("i", "Trigger", "Trigger " + trigger.toString() + " is not executed repeatedly.", 5);
|
||||||
@ -1027,75 +1071,14 @@ public class Trigger
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
boolean triggerParameter; //if true->started event, if false->stopped
|
||||||
* Can be several things:
|
String triggerParameter2;
|
||||||
* -PointOfInterest
|
|
||||||
* -TimeFrame
|
|
||||||
* -Event (like charging, cable plugged, etc.)
|
|
||||||
*/
|
|
||||||
|
|
||||||
public enum Trigger_Enum {
|
|
||||||
pointOfInterest, timeFrame, charging, batteryLevel, usb_host_connection, speed, noiseLevel, wifiConnection, process_started_stopped, airplaneMode, roaming, nfcTag, activityDetection, bluetoothConnection, headsetPlugged, notification, deviceOrientation, profileActive, screenState, phoneCall; //phoneCall always needs to be at the very end because of Google's shitty so called privacy
|
|
||||||
|
|
||||||
public String getFullName(Context context)
|
|
||||||
{
|
|
||||||
switch(this)
|
|
||||||
{
|
|
||||||
case pointOfInterest:
|
|
||||||
return context.getResources().getString(R.string.triggerPointOfInterest);
|
|
||||||
case timeFrame:
|
|
||||||
return context.getResources().getString(R.string.triggerTimeFrame);
|
|
||||||
case charging:
|
|
||||||
return context.getResources().getString(R.string.triggerCharging);
|
|
||||||
case batteryLevel:
|
|
||||||
return context.getResources().getString(R.string.batteryLevel);
|
|
||||||
case usb_host_connection:
|
|
||||||
return context.getResources().getString(R.string.triggerUsb_host_connection);
|
|
||||||
case speed:
|
|
||||||
return context.getResources().getString(R.string.triggerSpeed);
|
|
||||||
case noiseLevel:
|
|
||||||
return context.getResources().getString(R.string.triggerNoiseLevel);
|
|
||||||
case wifiConnection:
|
|
||||||
return context.getResources().getString(R.string.wifiConnection);
|
|
||||||
case process_started_stopped:
|
|
||||||
return context.getResources().getString(R.string.anotherAppIsRunning);
|
|
||||||
case airplaneMode:
|
|
||||||
return context.getResources().getString(R.string.airplaneMode);
|
|
||||||
case roaming:
|
|
||||||
return context.getResources().getString(R.string.roaming);
|
|
||||||
case phoneCall:
|
|
||||||
return context.getResources().getString(R.string.phoneCall);
|
|
||||||
case nfcTag:
|
|
||||||
return context.getResources().getString(R.string.nfcTag);
|
|
||||||
case activityDetection:
|
|
||||||
return context.getResources().getString(R.string.activityDetection);
|
|
||||||
case bluetoothConnection:
|
|
||||||
return context.getResources().getString(R.string.bluetoothConnection);
|
|
||||||
case headsetPlugged:
|
|
||||||
return context.getResources().getString(R.string.triggerHeadsetPlugged);
|
|
||||||
case notification:
|
|
||||||
return context.getResources().getString(R.string.notification);
|
|
||||||
case deviceOrientation:
|
|
||||||
return context.getResources().getString(R.string.deviceOrientation);
|
|
||||||
case profileActive:
|
|
||||||
return context.getResources().getString(R.string.profile);
|
|
||||||
case screenState:
|
|
||||||
return context.getResources().getString(R.string.screenState);
|
|
||||||
default:
|
|
||||||
return "Unknown";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
private boolean triggerParameter; //if true->started event, if false->stopped
|
|
||||||
private String triggerParameter2;
|
|
||||||
|
|
||||||
public static final String triggerParameter2Split = "tp2split";
|
public static final String triggerParameter2Split = "tp2split";
|
||||||
|
|
||||||
private Trigger_Enum triggerType = null;
|
Trigger_Enum triggerType = null;
|
||||||
private PointOfInterest pointOfInterest = null;
|
PointOfInterest pointOfInterest = null;
|
||||||
private TimeFrame timeFrame;
|
TimeFrame timeFrame;
|
||||||
|
|
||||||
public static String triggerPhoneCallStateRinging = "ringing";
|
public static String triggerPhoneCallStateRinging = "ringing";
|
||||||
public static String triggerPhoneCallStateStarted = "started";
|
public static String triggerPhoneCallStateStarted = "started";
|
||||||
@ -1105,17 +1088,17 @@ public class Trigger
|
|||||||
public static String triggerPhoneCallDirectionAny = "any";
|
public static String triggerPhoneCallDirectionAny = "any";
|
||||||
public static String triggerPhoneCallNumberAny = "any";
|
public static String triggerPhoneCallNumberAny = "any";
|
||||||
|
|
||||||
private double speed; //km/h
|
double speed; //km/h
|
||||||
private long noiseLevelDb;
|
long noiseLevelDb;
|
||||||
private String processName = null;
|
String processName = null;
|
||||||
private int batteryLevel;
|
int batteryLevel;
|
||||||
private int phoneDirection = 0; // 0=any, 1=incoming, 2=outgoing
|
int phoneDirection = 0; // 0=any, 1=incoming, 2=outgoing
|
||||||
private String phoneNumber = null;
|
String phoneNumber = null;
|
||||||
private String nfcTagId = null;
|
String nfcTagId = null;
|
||||||
private String bluetoothEvent = null;
|
String bluetoothEvent = null;
|
||||||
private String bluetoothDeviceAddress = null;
|
String bluetoothDeviceAddress = null;
|
||||||
private int activityDetectionType = -1;
|
int activityDetectionType = -1;
|
||||||
private int headphoneType = -1;
|
int headphoneType = -1;
|
||||||
|
|
||||||
public int getHeadphoneType()
|
public int getHeadphoneType()
|
||||||
{
|
{
|
||||||
|
@ -1160,12 +1160,17 @@ public class XmlFileInterface
|
|||||||
newAction.setAction(Action_Enum.disableScreenRotation);
|
newAction.setAction(Action_Enum.disableScreenRotation);
|
||||||
else if(actionNameString.equals("disableScreenRotation"))
|
else if(actionNameString.equals("disableScreenRotation"))
|
||||||
newAction.setAction(Action_Enum.disableScreenRotation);
|
newAction.setAction(Action_Enum.disableScreenRotation);
|
||||||
|
else if(actionNameString.equals("playMusic"))
|
||||||
|
{
|
||||||
|
newAction.setAction(Action_Enum.controlMediaPlayback);
|
||||||
|
newAction.setParameter2("1");
|
||||||
|
}
|
||||||
else if(actionNameString.equals("wakeupDevice"))
|
else if(actionNameString.equals("wakeupDevice"))
|
||||||
{
|
{
|
||||||
newAction.setAction(Action_Enum.turnScreenOnOrOff);
|
newAction.setAction(Action_Enum.turnScreenOnOrOff);
|
||||||
newAction.setParameter1(true);
|
newAction.setParameter1(true);
|
||||||
}
|
}
|
||||||
// *** deprecated
|
// *** :deprecated
|
||||||
|
|
||||||
else
|
else
|
||||||
newAction.setAction(Action_Enum.valueOf(actionNameString));
|
newAction.setAction(Action_Enum.valueOf(actionNameString));
|
||||||
|
@ -774,4 +774,12 @@
|
|||||||
<string name="unlocked">unlocked</string>
|
<string name="unlocked">unlocked</string>
|
||||||
<string name="selectDesiredState">Select desired state</string>
|
<string name="selectDesiredState">Select desired state</string>
|
||||||
<string name="screenState">Screen state</string>
|
<string name="screenState">Screen state</string>
|
||||||
|
<string name="featureCeasedToWorkLastWorkingAndroidVersion">Because of Google\'s infinite wisdom, the last Android version this feature is known to work on is %1$s. You can configure it, but it probably will not have any effect.</string>
|
||||||
|
<string name="actionMediaControl">Control media playback</string>
|
||||||
|
<string name="selectCommand">Select command</string>
|
||||||
|
<string name="playPause">toggle play/pause</string>
|
||||||
|
<string name="play">play</string>
|
||||||
|
<string name="pause">pause</string>
|
||||||
|
<string name="previous">previous</string>
|
||||||
|
<string name="next">next</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue
Block a user