<component name="ChangeListManager">
<list default="true" id="352ce63a-b52a-41a2-979b-becda7920939" name="Default" comment=".">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/scripts/lib/pc.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/pc.php" afterDir="false" />
- <change beforePath="$PROJECT_DIR$/scripts/lib/scenes.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/scenes.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/config/global.php" beforeDir="false" afterPath="$PROJECT_DIR$/config/global.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/scripts/cron/cron.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/cron/cron.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/scripts/lib/shield.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/shield.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/scripts/lib/squeezebox.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/lib/squeezebox.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/scripts/shield.php" beforeDir="false" afterPath="$PROJECT_DIR$/scripts/shield.php" afterDir="false" />
+ <change beforePath="$PROJECT_DIR$/servers/logcat.php" beforeDir="false" afterPath="$PROJECT_DIR$/servers/logcat.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="Make" enabled="true" />
</method>
</configuration>
+ <configuration default="true" type="ArquillianJUnit" factoryName="" nameIsGenerated="true">
+ <option name="arquillianRunConfiguration">
+ <value>
+ <option name="containerStateName" value="" />
+ </value>
+ </option>
+ <option name="TEST_OBJECT" value="class" />
+ <method v="2">
+ <option name="Make" enabled="true" />
+ </method>
+ </configuration>
<configuration default="true" type="ArquillianTestNG" factoryName="">
<option name="arquillianRunConfiguration">
<value>
<workItem from="1607439614302" duration="1182000" />
<workItem from="1607546452054" duration="634000" />
<workItem from="1607872973632" duration="1438000" />
- <workItem from="1607932840253" duration="607000" />
- </task>
- <task id="LOCAL-00372" summary=".">
- <created>1604521524933</created>
- <option name="number" value="00372" />
- <option name="presentableId" value="LOCAL-00372" />
- <option name="project" value="LOCAL" />
- <updated>1604521524933</updated>
+ <workItem from="1607932840253" duration="4147000" />
</task>
<task id="LOCAL-00373" summary=".">
<created>1604522275963</created>
<option name="project" value="LOCAL" />
<updated>1607546493722</updated>
</task>
- <option name="localTasksCounter" value="421" />
+ <task id="LOCAL-00421" summary=".">
+ <created>1607933724635</created>
+ <option name="number" value="00421" />
+ <option name="presentableId" value="LOCAL-00421" />
+ <option name="project" value="LOCAL" />
+ <updated>1607933724636</updated>
+ </task>
+ <option name="localTasksCounter" value="422" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
'Lit Jérôme' => 'b8:27:eb:62:d3:ce',
'Lit Vincent' => 'b8:27:eb:40:0e:e9',
//'Bureau' => 'b8:27:eb:f6:1d:30',
- 'Bureau' => 'cc:cc:2d:2a:b5:35',
+ //'Bureau' => 'cc:cc:2d:2a:b5:35',
+ 'Bureau' => '7e:23:f6:33:1d:3b',
);
$phones = array('vincent' => array(
if ($cronmin % 10 == 0) {
cronSqueezeFavorites($cronmin);
}
+ if ($cronmin % 20 == 0) {
+ cronSqueezeCheckPlayers($cronmin);
+ }
if ($cronmin % 2 == 0) {
cronPing($cronmin);
}
}
+function cronSqueezeCheckPlayers($cronmin)
+{
+ _logSection('Check squeezebox players');
+ $players = ['Salon' => 'salon', 'Bureau' => 'bureau'];
+ foreach ($players as $player => $device) {
+ if (getSqueezePlayerStatus($player) === -1) {
+ shieldRunAppAndBackHome('sbplayer', $device, 1, true);
+ sleep(5);
+ }
+ }
+}
+
function cronWeather($cronmin)
{
_logSection('Weather');
shieldLaunchApp('fr.francetv.pluzz/fr.francetv.androidtv.main.MainActivity', $device);
}
-function shieldLaunchApp($activity, $device)
+function shieldLaunchApp($activity, $device=null)
{
shieldHome($device);
- shieldCommand('shell am start', '-n ' . $activity, $device);
+
+ echo $activity;
+
+ if (strpos($activity, '/') === false) {
+ if (strpos($activity, '.') === false) {
+ $activity = shieldGetAppId($activity);
+ }
+ shieldCommand('shell monkey', '-p ' . $activity.' 1', $device);
+ } else {
+ shieldCommand('shell am start', '-n ' . $activity, $device);
+ }
}
function shieldMyCanal($channel = false, $type = 'live', $device = null)
function shieldListApps($device = null)
{
- shieldCommand('shell pm list', 'packages -f', $device);
+ echo shieldCommand('shell pm list', 'packages -f', $device);
}
function shieldFindIntents($app, $device)
'dailymotion' => 'com.dailymotion.dailymotion',
'vimeo' => 'com.vimeo.android.videoapp',
'plex' => 'com.plexapp.android',
+ 'sbplayer' => 'com.angrygoat.android.sbplayer',
+ 'spotify' => 'com.spotify.tv.android',
+ 'steamlink' => 'com.valvesoftware.steamlink',
];
}
+function shieldRunAppAndBackHome($app, $device = null, $waitBeforeBack = 1, $backToSleep = true)
+{
+
+ if (shieldIsAwake($device)) {
+ $backToSleep = false;
+ }
+ if ($backToSleep) {
+ $d = getDevice($device);
+ $s = 'maskShield' . ucfirst($d['id']) . 'Wakeup';
+ setState($s, '1');
+ }
+ echo 'shieldLaunchApp :: '.$app."\n";
+ shieldLaunchApp($app, $device);
+ sleep($waitBeforeBack);
+ echo 'shieldHome'."\n";
+ shieldHome($device);
+ if ($backToSleep) {
+ shieldSleep($device);
+ sleep(1);
+ setState($s, '0');
+ }
+}
+
function shieldHome($device = null)
{
shieldWakeup($device);
}
+
function _adb($command, $params = '', $device = null)
{
$c = _adbcmd($command, $params, $device);
$output = `$c`;
- // echo $c . ' :: ' . $output . "\n";
+ echo $c . ' :: ' . $output . "\n";
return $output;
}
function getSqueezePlayerStatus($player = '')
{
$res = _squeezeRequest('mode ?', $player);
+ if (null === $res) {
+ return -1;
+ }
+
if (!isset($res['result']) || !isset($res['result']['_mode'])) {
return false;
}
- return $res['result']['_mode'] == 'play';
+ return $res['result']['_mode'] == 'play' ? 1 : 0;
}
function stopSqueezebox($player)
} else if (isset($_GET['mycanal'])) {
$e = explode(':', $_GET['mycanal']);
shieldMyCanal($e[1], $e[0]);
+} else if (isset($_GET['runappback'])) {
+ shieldRunAppAndBackHome($_GET['runappback']);
}
echo '</pre>';
\ No newline at end of file
if (getState($state, '0') == '1') {
setState($state, '0');
} else {
- if (!getSqueezePlayerStatus($squeezePlayer)) {
+ if (getSqueezePlayerStatus($squeezePlayer) === 0) {
shieldRunActivity($device);
} else {
execScene('bureau/sound/on');