Skip to content
This repository was archived by the owner on Feb 4, 2024. It is now read-only.

Commit 45be75c

Browse files
committed
first functional commit
1 parent 3ab1c1a commit 45be75c

33 files changed

Lines changed: 1292 additions & 40 deletions

.gitignore

Lines changed: 3 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
*.apk
33
*.ap_
44

5-
# Files for the ART/Dalvik VM
5+
# Files for the Dalvik VM
66
*.dex
77

88
# Java class files
@@ -11,7 +11,6 @@
1111
# Generated files
1212
bin/
1313
gen/
14-
out/
1514

1615
# Gradle files
1716
.gradle/
@@ -23,43 +22,7 @@ local.properties
2322
# Proguard folder generated by Eclipse
2423
proguard/
2524

26-
# Log Files
27-
*.log
28-
29-
# Android Studio Navigation editor temp files
30-
.navigation/
31-
32-
# Android Studio captures folder
33-
captures/
34-
35-
# IntelliJ
25+
#android studio files
26+
.idea/
3627
*.iml
37-
.idea/workspace.xml
38-
.idea/tasks.xml
39-
.idea/gradle.xml
40-
.idea/assetWizardSettings.xml
41-
.idea/dictionaries
42-
.idea/libraries
43-
.idea/caches
44-
45-
# Keystore files
46-
# Uncomment the following line if you do not want to check your keystore files in.
47-
#*.jks
48-
49-
# External native build folder generated in Android Studio 2.2 and later
50-
.externalNativeBuild
51-
52-
# Google Services (e.g. APIs or Firebase)
53-
google-services.json
54-
55-
# Freeline
56-
freeline.py
57-
freeline/
58-
freeline_project_description.json
5928

60-
# fastlane
61-
fastlane/report.xml
62-
fastlane/Preview.html
63-
fastlane/screenshots
64-
fastlane/test_output
65-
fastlane/readme.md

app/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

app/build.gradle

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apply plugin: 'com.android.application'
2+
3+
android {
4+
compileSdkVersion 26
5+
6+
defaultConfig {
7+
applicationId "org.hvdwolf.fytfunctionalityextender"
8+
minSdkVersion 23
9+
targetSdkVersion 26
10+
versionCode 1
11+
versionName "1.0"
12+
}
13+
buildTypes {
14+
release {
15+
minifyEnabled false
16+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
17+
}
18+
}
19+
}

app/src/main/AndroidManifest.xml

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="2" android:versionName="1.11" package="org.hvdw.fytfunctionalityextender" platformBuildVersionCode="26" platformBuildVersionName="8.0.0">
3+
4+
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
5+
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
6+
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
7+
8+
<application android:theme="@style/AppTheme" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:debuggable="true" android:allowBackup="true" android:supportsRtl="true" android:roundIcon="@mipmap/ic_launcher_round">
9+
<activity android:label="@string/app_name" android:name="org.hvdw.fytfunctionalityextender.SettingsActivity">
10+
<intent-filter>
11+
<action android:name="android.intent.action.MAIN"/>
12+
<category android:name="de.robv.android.xposed.category.MODULE_SETTINGS"/>
13+
</intent-filter>
14+
</activity>
15+
<activity-alias android:label="@string/app_name" android:name="org.hvdw.fytfunctionalityextender.SettingsActivityAlias" android:enabled="true" android:targetActivity="org.hvdw.fytfunctionalityextender.SettingsActivity">
16+
<intent-filter>
17+
<action android:name="android.intent.action.MAIN"/>
18+
<category android:name="android.intent.category.LAUNCHER"/>
19+
</intent-filter>
20+
</activity-alias>
21+
22+
<receiver android:name="AccOnReceiver" >
23+
<intent-filter>
24+
<action android:name="android.intent.action.BOOT_COMPLETED" >
25+
</action>
26+
</intent-filter>
27+
28+
<intent-filter>
29+
<action android:name="android.intent.action.ACTION_MT_COMMAND_SLEEP_OUT" >
30+
</action>
31+
</intent-filter>
32+
<intent-filter>
33+
<action android:name="com.fyt.boot.ACCON" >
34+
</action>
35+
</intent-filter>
36+
<intent-filter>
37+
<action android:name="com.glsx.boot.ACCON" >
38+
</action>
39+
</intent-filter>
40+
</receiver>
41+
<receiver android:name="AccOffReceiver" >
42+
<intent-filter>
43+
<action android:name="android.intent.action.ACTION_MT_COMMAND_SLEEP_IN" >
44+
</action>
45+
</intent-filter>
46+
<intent-filter>
47+
<action android:name="com.fyt.boot.ACCOFF" >
48+
</action>
49+
</intent-filter>
50+
<intent-filter>
51+
<action android:name="com.glsx.boot.ACCOFF" >
52+
</action>
53+
</intent-filter>
54+
</receiver>
55+
56+
</application>
57+
</manifest>
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package org.hvdw.fytfunctionalityextender;
2+
3+
import android.content.BroadcastReceiver;
4+
import android.content.Context;
5+
import android.content.Intent;
6+
import android.content.SharedPreferences;
7+
import android.net.wifi.WifiManager;
8+
import android.os.Bundle;
9+
import android.preference.PreferenceManager;
10+
import android.util.Log;
11+
12+
public class AccOffReceiver extends BroadcastReceiver {
13+
private boolean use_root_access;
14+
private boolean switch_wifi_off;
15+
private boolean pause_player;
16+
17+
@Override
18+
public void onReceive(Context context, Intent intent) {
19+
Bundle extras = intent.getExtras();
20+
21+
use_root_access = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MySettings.USE_ROOT_ACCESS, true);
22+
switch_wifi_off = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MySettings.SWITCH_WIFI_OFF, true);
23+
pause_player = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MySettings.PAUSE_PLAYER, true);
24+
25+
Log.d("fytfunctionalityextender-AccOffReceiver", "Detected an ACCOFF broadcast");
26+
27+
if (switch_wifi_off == true) {
28+
Log.d("fytfunctionalityextender-AccOffReceiver", "Switch Off WiFi");
29+
WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
30+
wifiManager.setWifiEnabled(false);
31+
Log.d("fytfunctionalityextender-AccOffReceiver", "Switched Off WiFi");
32+
} else {
33+
Log.d("fytfunctionalityextender-AccOffReceiver", "It is not requested to switch off WiFi");
34+
}
35+
}
36+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package org.hvdw.fytfunctionalityextender;
2+
3+
import android.content.BroadcastReceiver;
4+
import android.content.Context;
5+
import android.content.Intent;
6+
import android.content.SharedPreferences;
7+
import android.net.wifi.WifiManager;
8+
import android.os.Bundle;
9+
import android.preference.PreferenceManager;
10+
import android.util.Log;
11+
12+
public class AccOnReceiver extends BroadcastReceiver {
13+
private boolean use_root_access;
14+
private boolean switch_wifi_on;
15+
private boolean restart_player;
16+
17+
@Override
18+
public void onReceive(Context context, Intent intent) {
19+
Bundle extras = intent.getExtras();
20+
21+
use_root_access = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MySettings.USE_ROOT_ACCESS, true);
22+
switch_wifi_on = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MySettings.SWITCH_WIFI_ON, true);
23+
restart_player = PreferenceManager.getDefaultSharedPreferences(context).getBoolean(MySettings.RESTART_PLAYER, true);
24+
25+
Log.d("fytfunctionalityextender-AccOnReceiver", "Detected an ACCON broadcast");
26+
27+
if (switch_wifi_on == true) {
28+
Log.d("fytfunctionalityextender-AccOnReceiver", "Switch On WiFi");
29+
WifiManager wifiManager = (WifiManager) context.getSystemService(context.WIFI_SERVICE);
30+
wifiManager.setWifiEnabled(true);
31+
//wifiManager.setWifiEnabled(false);
32+
Log.d("fytfunctionalityextender-AccOnReceiver", "Switched On WiFi");
33+
} else {
34+
Log.d("fytfunctionalityextender-AccOnReceiver", "It is not requested to switch on WiFi");
35+
}
36+
}
37+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package org.hvdw.fytfunctionalityextender;
2+
3+
import java.io.Closeable;
4+
import java.net.DatagramSocket;
5+
import java.net.Socket;
6+
7+
//copied from https://stackoverflow.com/questions/20932102/execute-shell-command-from-android/26654728
8+
// from the code of CarloCannas
9+
10+
public class Closer {
11+
// closeAll()
12+
public static void closeSilently(Object... xs) {
13+
// Note: on Android API levels prior to 19 Socket does not implement Closeable
14+
for (Object x : xs) {
15+
if (x != null) {
16+
try {
17+
//Log.d("closing: "+x);
18+
if (x instanceof Closeable) {
19+
((Closeable)x).close();
20+
} else if (x instanceof Socket) {
21+
((Socket)x).close();
22+
} else if (x instanceof DatagramSocket) {
23+
((DatagramSocket)x).close();
24+
} else {
25+
//Log.d("cannot close: "+x);
26+
throw new RuntimeException("cannot close "+x);
27+
}
28+
} catch (Throwable e) {
29+
//Log.x(e);
30+
}
31+
}
32+
}
33+
}
34+
}
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package org.hvdw.fytfunctionalityextender;
2+
3+
class MySettings {
4+
5+
public static final String PACKAGE_APP = "org.hvdw.fytfunctionalityextender";
6+
public static final String SHARED_PREFS_FILENAME = PACKAGE_APP + "_preferences";
7+
8+
/* The necessary variables */
9+
10+
public static final String USE_ROOT_ACCESS = "use_root_access";
11+
public static final String ACTION_USE_ROOT_ACCESS_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_USE_ROOT_ACCESS_CHANGED";
12+
public static final String EXTRA_USE_ROOT_ACCESS_ENABLED = "org.hvdw.fytfunctionalityextender.extra.USE_ROOT_ACCESS_ENABLED";
13+
14+
public static final String MEDIA_CALL_OPTION = "media_key_call_option";
15+
public static final String ACTION_MEDIA_CALL_OPTION_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_MEDIA_CALL_OPTION_CHANGED";
16+
public static final String EXTRA_MEDIA_CALL_OPTION_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_MEDIA_CALL_OPTION_STRING";
17+
public static final String MEDIA_CALL_ENTRY = "media_key_entry";
18+
public static final String ACTION_MEDIA_CALL_ENTRY_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_MEDIA_CALL_ENTRY_CHANGED";
19+
public static final String EXTRA_MEDIA_CALL_ENTRY_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_MEDIA_CALL_ENTRY_STRING";
20+
21+
/* public static final String BAND_CALL_OPTION = "band_key_call_option";
22+
public static final String ACTION_BAND_CALL_OPTION_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_BAND_CALL_OPTION_CHANGED";
23+
public static final String EXTRA_BAND_CALL_OPTION_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_BAND_CALL_OPTION_STRING";
24+
public static final String BAND_CALL_ENTRY = "band_key_entry";
25+
public static final String ACTION_BAND_CALL_ENTRY_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_BAND_CALL_ENTRY_CHANGED";
26+
public static final String EXTRA_BAND_CALL_ENTRY_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_BAND_CALL_ENTRY_STRING";
27+
*/
28+
29+
public static final String DVD_CALL_OPTION = "dvd_key_call_option";
30+
public static final String ACTION_DVD_CALL_OPTION_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_DVD_CALL_OPTION_CHANGED";
31+
public static final String EXTRA_DVD_CALL_OPTION_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_DVD_CALL_OPTION_STRING";
32+
public static final String DVD_CALL_ENTRY = "dvd_key_entry";
33+
public static final String ACTION_DVD_CALL_ENTRY_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_DVD_CALL_ENTRY_CHANGED";
34+
public static final String EXTRA_DVD_CALL_ENTRY_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_DVD_CALL_ENTRY_STRING";
35+
36+
37+
/* public static final String EQ_CALL_OPTION = "eq_key_call_option";
38+
public static final String ACTION_EQ_CALL_OPTION_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_EQ_CALL_OPTION_CHANGED";
39+
public static final String EXTRA_EQ_CALL_OPTION_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_EQ_CALL_OPTION_STRING";
40+
public static final String EQ_CALL_ENTRY = "eq_key_entry";
41+
public static final String ACTION_EQ_CALL_ENTRY_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_EQ_CALL_ENTRY_CHANGED";
42+
public static final String EXTRA_EQ_CALL_ENTRY_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_EQ_CALL_ENTRY_STRING";
43+
*/
44+
45+
public static final String ACC_ON_CALL_OPTION = "acc_on_call_option";
46+
public static final String ACTION_ACC_ON_CALL_OPTION_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_ACC_ON_CALL_OPTION_CHANGED";
47+
public static final String EXTRA_ACC_ON_CALL_OPTION_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_ACC_ON_CALL_OPTION_STRING";
48+
public static final String ACC_ON_CALL_ENTRY = "acc_on_entry";
49+
public static final String ACTION_ACC_ON_CALL_ENTRY_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_ACC_ON_CALL_ENTRY_CHANGED";
50+
public static final String EXTRA_ACC_ON_CALL_ENTRY_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_ACC_ON_CALL_ENTRY_STRING";
51+
public static final String SWITCH_WIFI_ON = "switch_wifi_on";
52+
public static final String ACTION_SWITCH_WIFI_ON_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_SWITCH_WIFI_ON_CHANGED";
53+
public static final String EXTRA_SWITCH_WIFI_ON_ENABLED = "org.hvdw.fytfunctionalityextender.extra.SWITCH_WIFI_ON_ENABLED";
54+
public static final String RESTART_PLAYER = "restart_player";
55+
public static final String ACTION_RESTART_PLAYER_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_RESTART_PLAYER_CHANGED";
56+
public static final String EXTRA_RESTART_PLAYER_ENABLED = "org.hvdw.fytfunctionalityextender.extra.RESTART_PLAYER_ENABLED";
57+
58+
public static final String ACC_OFF_CALL_OPTION = "acc_off_call_option";
59+
public static final String ACTION_ACC_OFF_CALL_OPTION_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_ACC_OFF_CALL_OPTION_CHANGED";
60+
public static final String EXTRA_ACC_OFF_CALL_OPTION_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_ACC_OFF_CALL_OPTION_STRING";
61+
public static final String ACC_OFF_CALL_ENTRY = "acc_off_entry";
62+
public static final String ACTION_ACC_OFF_CALL_ENTRY_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_ACC_OFF_CALL_ENTRY_CHANGED";
63+
public static final String EXTRA_ACC_OFF_CALL_ENTRY_STRING = "org.hvdw.fytfunctionalityextender.extra.PREF_ACC_OFF_CALL_ENTRY_STRING";
64+
public static final String SWITCH_WIFI_OFF = "switch_wifi_off";
65+
public static final String ACTION_SWITCH_WIFI_OFF_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_SWITCH_WIFI_OFF_CHANGED";
66+
public static final String EXTRA_SWITCH_WIFI_OFF_ENABLED = "org.hvdw.fytfunctionalityextender.extra.SWITCH_WIFI_OFF_ENABLED";
67+
public static final String PAUSE_PLAYER = "pause_player";
68+
public static final String ACTION_PAUSE_PLAYER_CHANGED = "org.hvdw.fytfunctionalityextender.action.ACTION_PAUSE_PLAYER_CHANGED";
69+
public static final String EXTRA_PAUSE_PLAYER_ENABLED = "org.hvdw.fytfunctionalityextender.extra.PAUSE_PLAYER_ENABLED";
70+
71+
72+
/* End of all the necessary variables */
73+
74+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package org.hvdw.fytfunctionalityextender;
2+
3+
import android.content.Context;
4+
import android.os.Bundle;
5+
import android.preference.PreferenceActivity;
6+
import android.util.AttributeSet;
7+
8+
public class SettingsActivity extends PreferenceActivity {
9+
AttributeSet attrs;
10+
Context mContext;
11+
12+
public void onCreate(Bundle savedInstanceState) {
13+
super.onCreate(savedInstanceState);
14+
if (getFragmentManager().findFragmentByTag("settings") == null) {
15+
getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment(), "settings").commit();
16+
}
17+
}
18+
}

0 commit comments

Comments
 (0)