Quellcode durchsuchen

Add UI component TextViewPlus
Add icon
Add Settings

sylvrec vor 9 Jahren
Ursprung
Commit
0cbd6c80c6

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -9,7 +9,7 @@
 
     <application android:name=".MyApp">
 
-        <activity android:name=".MainActivity">
+        <activity android:name=".MainActivity" android:label="@string/app_name" android:icon="@mipmap/ic_launcher" android:logo="@mipmap/ic_launcher" android:theme="@style/AppTheme" >
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
 

+ 0 - 16
app/src/main/java/com/sylvrec/incallsms/InCallSmsService.java

@@ -1,16 +0,0 @@
-package com.sylvrec.incallsms;
-
-import android.app.Service;
-import android.content.Intent;
-import android.os.IBinder;
-
-/**
- * Created by sylvr on 9/19/2016.
- */
-
-public class InCallSmsService extends Service {
-    @Override
-    public IBinder onBind(Intent intent) {
-        return null;
-    }
-}

+ 8 - 10
app/src/main/java/com/sylvrec/incallsms/IncomingCallReceiver.java

@@ -14,22 +14,20 @@ import android.util.Log;
  * Created by sylvr on 9/15/2016.
  */
 public class IncomingCallReceiver extends BroadcastReceiver {
+    private Settings _settings;
 
     @Override
     public void onReceive(Context context, Intent intent) {
-        Log.d("Test", intent.getAction());
+        _settings = Settings.GetInstance(context);
         String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
-        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
-            new FlashLight().Blink(6, 1000);
-            Log.d("Test", "onReceive --- RING --- ");
+        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING) && _settings.Read().getBoolean(Settings.ID.STATECALL, false)) {
+            new FlashLight().Blink(_settings.Read().getInt(Settings.ID.STARRATECALL, 0), 500);
         }
-        if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
-            new FlashLight().Blink(2, 1000);
-            Log.d("Test", "onReceive --- SMS --- ");
+        if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED") && _settings.Read().getBoolean(Settings.ID.STATESMS, false)) {
+            new FlashLight().Blink(_settings.Read().getInt(Settings.ID.STARRATESMS, 0), 500);
         }
-        if (intent.getAction().equals("android.provider.Telephony.WAP_PUSH_RECEIVED")) {
-            new FlashLight().Blink(3, 1000);
-            Log.d("Test", "onReceive --- MMS --- ");
+        if (intent.getAction().equals("android.provider.Telephony.WAP_PUSH_RECEIVED") && _settings.Read().getBoolean(Settings.ID.STATEMMS, false)) {
+            new FlashLight().Blink(_settings.Read().getInt(Settings.ID.STARRATEMMS, 0), 500);
         }
     }
 }

+ 54 - 21
app/src/main/java/com/sylvrec/incallsms/MainActivity.java

@@ -3,6 +3,7 @@ package com.sylvrec.incallsms;
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.content.DialogInterface;
+import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.view.View;
@@ -28,6 +29,8 @@ public class MainActivity extends Activity implements IOnCheckStarRateListener,
     private StarRateView _starRateViewSms;
     private StarRateView _starRateViewMms;
 
+    private Settings _settings;
+
     @Override
     protected void onStart() {
         super.onStart();
@@ -56,6 +59,7 @@ public class MainActivity extends Activity implements IOnCheckStarRateListener,
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        _settings = Settings.GetInstance(this);
         setContentView(R.layout.main_activity);
 
         _tbCall = (ToggleButton)findViewById(R.id.tbCall);
@@ -78,13 +82,17 @@ public class MainActivity extends Activity implements IOnCheckStarRateListener,
         _starRateViewSms.SetOnCheckStarRateListener(this);
         _starRateViewMms.SetOnCheckStarRateListener(this);
 
-        _tbCall.setChecked(true);
-        _tbSms.setChecked(true);
-        _tbMms.setChecked(true);
+        _tbCall.setChecked(_settings.Read().getBoolean(Settings.ID.STATECALL, false));
+        _tbSms.setChecked(_settings.Read().getBoolean(Settings.ID.STATESMS, false));
+        _tbMms.setChecked(_settings.Read().getBoolean(Settings.ID.STATEMMS, false));
+
+        _llCall.setVisibility((_settings.Read().getBoolean(Settings.ID.STATECALL, false))?(View.VISIBLE):(View.GONE));
+        _llSms.setVisibility((_settings.Read().getBoolean(Settings.ID.STATESMS, false))?(View.VISIBLE):(View.GONE));
+        _llMms.setVisibility((_settings.Read().getBoolean(Settings.ID.STATEMMS, false))?(View.VISIBLE):(View.GONE));
 
-        _starRateViewCall.SetValue(5);
-        _starRateViewSms.SetValue(5);
-        _starRateViewMms.SetValue(5);
+        _starRateViewCall.SetValue(_settings.Read().getInt(Settings.ID.STARRATECALL, 0));
+        _starRateViewSms.SetValue(_settings.Read().getInt(Settings.ID.STARRATESMS, 0));
+        _starRateViewMms.SetValue(_settings.Read().getInt(Settings.ID.STARRATEMMS, 0));
 
         boolean hasFlash = getApplicationContext().getPackageManager()
                 .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);
@@ -103,8 +111,12 @@ public class MainActivity extends Activity implements IOnCheckStarRateListener,
                 }
             });
             alert.show();
-        } else {
-            new FlashLight().Blink(2, 500);
+            onCheckedChanged(_tbCall, false);
+            onCheckedChanged(_tbSms, false);
+            onCheckedChanged(_tbMms, false);
+            _llCall = null;
+            _llSms = null;
+            _llMms = null;
         }
     }
 
@@ -112,28 +124,49 @@ public class MainActivity extends Activity implements IOnCheckStarRateListener,
     public void OnCheckStar(View v, int n) {
         switch (v.getId()){
             case R.id.StarRateCall:
+                _settings.Write().putInt(Settings.ID.STARRATECALL, n).commit();
                 break;
             case R.id.StarRateSms:
+                _settings.Write().putInt(Settings.ID.STARRATESMS, n).commit();
                 break;
             case R.id.StarRateMms:
+                _settings.Write().putInt(Settings.ID.STARRATEMMS, n).commit();
                 break;
         }
     }
 
     @Override
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-        if (!isChecked) {
-            buttonView.setVisibility(View.GONE);
-        } else {
-            buttonView.setVisibility(View.VISIBLE);
-        }
-        switch (buttonView.getId()) {
-            case R.id.tbCall:
-                break;
-            case R.id.tbMms:
-                break;
-            case R.id.tbSms:
-                break;
-        }
+        try {
+            switch (buttonView.getId()) {
+                case R.id.tbCall:
+                    if (!isChecked) {
+                        _llCall.setVisibility(View.GONE);
+                        _settings.Write().putBoolean(Settings.ID.STATECALL, false).commit();
+                    } else {
+                        _llCall.setVisibility(View.VISIBLE);
+                        _settings.Write().putBoolean(Settings.ID.STATECALL, true).commit();
+                    }
+                    break;
+                case R.id.tbMms:
+                    if (!isChecked) {
+                        _llMms.setVisibility(View.GONE);
+                        _settings.Write().putBoolean(Settings.ID.STATEMMS, false).commit();
+                    } else {
+                        _llMms.setVisibility(View.VISIBLE);
+                        _settings.Write().putBoolean(Settings.ID.STATEMMS, true).commit();
+                    }
+                    break;
+                case R.id.tbSms:
+                    if (!isChecked) {
+                        _llSms.setVisibility(View.GONE);
+                        _settings.Write().putBoolean(Settings.ID.STATESMS, false).commit();
+                    } else {
+                        _llSms.setVisibility(View.VISIBLE);
+                        _settings.Write().putBoolean(Settings.ID.STATESMS, true).commit();
+                    }
+                    break;
+            }
+        } catch (NullPointerException e) {}
     }
 }

+ 45 - 0
app/src/main/java/com/sylvrec/incallsms/Settings.java

@@ -0,0 +1,45 @@
+package com.sylvrec.incallsms;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+/**
+ * Created by sylvr on 10/2/2016.
+ */
+
+public class Settings {
+    private final static String PREFS_NAME = "SETTINGS_CALLSMSMMS";
+
+    public class ID {
+        public final static String STATECALL = "StateCall";
+        public final static String STATESMS = "StateSms";
+        public final static String STATEMMS = "StateMms";
+
+        public final static String STARRATECALL = "StarRateCall";
+        public final static String STARRATESMS = "StarRateSms";
+        public final static String STARRATEMMS = "StarRateMms";
+    }
+
+    private static Settings Instance = null;
+
+    private Settings(Context context) {
+        _settings = context.getSharedPreferences(PREFS_NAME, 0);
+    }
+
+    public static synchronized Settings GetInstance(Context context) {
+        if (Instance == null) {
+            Instance = new Settings(context);
+        }
+        return Instance;
+    }
+
+    private SharedPreferences _settings;
+
+    public SharedPreferences.Editor Write() {
+        return _settings.edit();
+    }
+
+    public SharedPreferences Read() {
+        return _settings;
+    }
+}

+ 46 - 0
app/src/main/java/com/sylvrec/incallsms/UI/TextViewPlus.java

@@ -0,0 +1,46 @@
+package com.sylvrec.incallsms.UI;
+
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.util.AttributeSet;
+import android.webkit.WebView;
+
+import com.sylvrec.incallsms.R;
+
+/**
+ * Created by sylvr on 10/2/2016.
+ */
+
+public class TextViewPlus extends WebView {
+    private String _html;
+
+    public TextViewPlus(Context context) {
+        super(context);
+    }
+
+    public TextViewPlus(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        Init(context, attrs);
+    }
+
+    public TextViewPlus(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        Init(context, attrs);
+    }
+
+    public TextViewPlus(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        Init(context, attrs);
+    }
+
+    public void Init(Context context, AttributeSet attrs) {
+        try {
+            TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.TextViewPlus);
+            _html = typedArray.getString(R.styleable.TextViewPlus_TextHtml);
+            typedArray.recycle();
+            loadData(_html, "text/html", null);
+        } catch (Exception e) {}
+    }
+
+
+}

+ 10 - 3
app/src/main/res/layout/main_activity.xml

@@ -45,7 +45,7 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:text="Nb blink : "/>
-                <app:com.sylvrec.incallsms.UI.StarRateView
+                <com.sylvrec.incallsms.UI.StarRateView
                     android:id="@+id/StarRateCall"
                     android:layout_width="match_parent"
                     android:layout_height="30dp"/>
@@ -96,7 +96,7 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:text="Nb blink : "/>
-                <app:com.sylvrec.incallsms.UI.StarRateView
+                <com.sylvrec.incallsms.UI.StarRateView
                     android:id="@+id/StarRateSms"
                     android:layout_width="match_parent"
                     android:layout_height="30dp"/>
@@ -145,10 +145,17 @@
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:text="Nb blink : "/>
-                <app:com.sylvrec.incallsms.UI.StarRateView
+                <com.sylvrec.incallsms.UI.StarRateView
                     android:id="@+id/StarRateMms"
                     android:layout_width="match_parent"
                     android:layout_height="30dp"/>
             </LinearLayout>
         </LinearLayout>
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="25dp"/>
+        <com.sylvrec.incallsms.UI.TextViewPlus
+            android:layout_height="wrap_content"
+            android:layout_width="match_parent"
+            app:TextHtml="@string/notice"/>
 </LinearLayout>

BIN
app/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


+ 13 - 0
app/src/main/res/values-fr/strings.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="app_name">NoRinging</string>
+    <string name="notice"><![CDATA[
+    <html>
+    <head></head>
+    <body style="text-align:justify;color:gray;background-color:black;">
+    Activer ou Desactiver la détection des appels/Sms/Mmms.<br />
+    Choisissez le nombre de clignotement du flash.
+    </body>
+    </html>
+    ]]></string>
+</resources>

+ 1 - 0
app/src/main/res/values-v21/styles.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
+        <item name="android:icon">@mipmap/ic_launcher</item>
     </style>
 </resources>

+ 6 - 0
app/src/main/res/values/attrs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <declare-styleable name="TextViewPlus">
+        <attr name="TextHtml" format="string"/>
+    </declare-styleable>
+</resources>

+ 2 - 1
app/src/main/res/values/strings.xml

@@ -1,3 +1,4 @@
 <resources>
-    <string name="app_name">InCallSmS</string>
+    <string name="app_name">NoRinging</string>
+    <string name="notice">Enable or Disable the detection of Calls/Sms /Mms. Choose the number of flash blinking.</string>
 </resources>

+ 1 - 0
app/src/main/res/values/styles.xml

@@ -3,6 +3,7 @@
     <!-- Base application theme. -->
     <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
         <!-- Customize your theme here. -->
+
     </style>
 
 </resources>