Browse Source

Automatic Commit By liuyuqi

liuyuqi-dellpc 4 years ago
parent
commit
362fa01dd8

+ 13 - 0
app/src/main/AndroidManifest.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
     package="me.yoqi.android.open2share">
 
     <application
@@ -16,6 +17,18 @@
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
+        <activity android:name=".views.SettingActivity"/>
+        <activity android:name=".views.ReceiveActivity"
+            android:excludeFromRecents="true"
+            >
+        <intent-filter
+            android:label="open to share"
+            tools:ignore="AppLinkUrlError">
+            <action android:name="android.intent.action.VIEW"/>
+            <category android:name="android.intent.category.DEFAULT"/>
+            <data android:mimeType="*/*"/>
+        </intent-filter>
+        </activity>
     </application>
 
 </manifest>

+ 47 - 0
app/src/main/java/me/yoqi/android/open2share/views/ReceiveActivity.java

@@ -0,0 +1,47 @@
+package me.yoqi.android.open2share.views;
+
+import android.content.Intent;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.StrictMode;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+import me.yoqi.android.open2share.R;
+
+/** open2share 接受请求
+ * @author liuyuqi.gov@msn.cn
+ * @createTime 2020-09-28
+ */
+public class ReceiveActivity extends AppCompatActivity {
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        StrictMode.VmPolicy.Builder builder=new StrictMode.VmPolicy.Builder();
+        StrictMode.setVmPolicy(builder.build());
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
+            builder.detectFileUriExposure();
+        }
+
+        setContentView(R.layout.activity_result);
+        Intent sendIntent=new Intent();
+        sendIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        sendIntent.addCategory("android.intent.category.DEFAULT");
+        sendIntent.putExtra(Intent.EXTRA_STREAM,getIntent().getData());
+        sendIntent.setType(getIntent().getType());
+        startActivityForResult(Intent.createChooser(sendIntent,"share file"), 1);
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        finishActivity(0);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        finish();
+    }
+}

+ 18 - 0
app/src/main/java/me/yoqi/android/open2share/views/SettingActivity.java

@@ -0,0 +1,18 @@
+package me.yoqi.android.open2share.views;
+
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
+/** 设置界面
+ * @author liuyuqi.gov@msn.cn
+ * @createTime 2020-09-28
+ */
+public class SettingActivity extends AppCompatActivity {
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+//        setContentView();
+    }
+}

+ 12 - 0
app/src/main/java/me/yoqi/android/utils/NetUtils.java

@@ -0,0 +1,12 @@
+package me.yoqi.android.open2share.utils;
+
+/**
+ * 网络检测工具类
+ * @author liuyuqi.gov@msn.cn
+ * @createTime 2020-08-18
+ */
+public class NetUtils {
+    //检测网络是否可用,wifi or gps
+    
+}
+

+ 22 - 0
app/src/main/java/me/yoqi/android/utils/RegexParser.java

@@ -0,0 +1,22 @@
+package me.yoqi.android.open2share.utils;
+
+import android.util.Patterns;
+
+/**
+ * 常用正则表达式
+ *
+ * @author liuyuqi.gov@msn.cn
+ * @createTime 2020-08-17
+ */
+public class RegexParser {
+    static final String PHONE_PATTERN = Patterns.PHONE.pattern();
+    static final String EMAIL_PATTERN = Patterns.EMAIL_ADDRESS.pattern();
+
+    //at、话题、链接匹配表达式
+    static final String MENTION_PATTERN = "@.{1,15}?\\s";
+    static final String HASHTAG_PATTERN = "#.{1,15}?\\s";
+    static final String URL_PATTERN = "(http|https|ftp|svn)://([a-zA-Z0-9]+[/?.?])" +
+            "+[a-zA-Z0-9]*\\??([a-zA-Z0-9]*=[a-zA-Z0-9]*&?)*";
+
+}
+

+ 75 - 0
app/src/main/java/me/yoqi/android/utils/SPUtils.java

@@ -0,0 +1,75 @@
+package me.yoqi.android.open2share.utils;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.SharedPreferences.Editor;
+
+import java.util.Map;
+
+public class SPUtils {
+    private static final String SP_NAME = "common";
+    private static SPUtils mSpUtils;
+    private Context context;
+    private SharedPreferences sp;
+    private Editor editor;
+
+    public SPUtils(Context context) {
+        this.context = context;
+        sp = this.context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
+        editor = sp.edit();
+    }
+
+    public static SPUtils getInstance(Context context) {
+
+        if (mSpUtils == null) {
+            synchronized (SPUtils.class) {
+                if (mSpUtils == null) {
+                    mSpUtils = new SPUtils(context);
+                    return mSpUtils;
+                }
+            }
+        }
+
+        return mSpUtils;
+
+    }
+
+    public void putBoolean(String key, Boolean value) {
+        editor.putBoolean(key, value);
+        editor.commit();
+    }
+
+    public boolean getBoolean(String key, Boolean defValue) {
+        return sp.getBoolean(key, defValue);
+    }
+
+    public void putString(String key, String value) {
+        if (key == null) {
+            return;
+        }
+        editor.putString(key, value);
+        editor.commit();
+    }
+
+    public String getString(String key, String defValue) {
+        return sp.getString(key, defValue);
+    }
+
+    public void putInt(String key, int value) {
+        editor.putInt(key, value);
+        editor.commit();
+    }
+
+    public int getInt(String key, int defValue) {
+        return sp.getInt(key, defValue);
+    }
+
+    public Map<String, ?> getAll() {
+        return sp.getAll();
+    }
+
+    public void remove(String key) {
+        sp.edit().remove(key).commit();
+    }
+
+}

+ 71 - 0
app/src/main/java/me/yoqi/android/utils/SimplexToast.java

@@ -0,0 +1,71 @@
+package me.yoqi.android.open2share.utils;
+
+import android.content.Context;
+import android.view.Gravity;
+import android.widget.Toast;
+
+/**
+ * 以后请用这个吐司,谢谢!!!
+ * <p>
+ * <p>
+ * {@link Toast}的创建都是要inflate一个layout, findViewById之类的
+ * 将一个吐司单例化,并且作防止频繁点击的处理。
+ * <p>
+ * <p>
+ */
+@SuppressWarnings("all")
+public class SimplexToast {
+
+    private static Toast mToast;
+    private static long nextTimeMillis;
+    private static int yOffset;
+
+    private SimplexToast(Context context) {
+
+    }
+
+    public static Toast init(Context context) {
+        if (context == null) {
+            throw new IllegalArgumentException("Context should not be null!!!");
+        }
+        if (mToast == null) {
+            mToast = Toast.makeText(context, null, Toast.LENGTH_SHORT);
+            yOffset = mToast.getYOffset();
+        }
+        mToast.setDuration(Toast.LENGTH_SHORT);
+        mToast.setGravity(Gravity.BOTTOM, 0, yOffset);
+        mToast.setMargin(0, 0);
+        return mToast;
+    }
+
+    public static void show(String content) {
+        show(content, Toast.LENGTH_SHORT);
+    }
+
+    public static void show(String content, int duration) {
+        show(null, content, Gravity.BOTTOM, duration);
+    }
+
+    public static void show(Context context, int rid) {
+        show(context, context.getResources().getString(rid));
+    }
+
+    public static void show(Context context, String content) {
+        show(context, content, Gravity.BOTTOM);
+    }
+
+    public static void show(Context context, String content, int gravity) {
+        show(context, content, gravity, Toast.LENGTH_SHORT);
+    }
+
+    public static void show(Context context, String content, int gravity, int duration) {
+        long current = System.currentTimeMillis();
+        //if (current < nextTimeMillis) return;
+        if (mToast == null) init(context.getApplicationContext());
+        mToast.setText(content);
+        mToast.setDuration(duration);
+        mToast.setGravity(gravity, 0, yOffset);
+        nextTimeMillis = current + (duration == Toast.LENGTH_LONG ? 3500 : 2000);
+        mToast.show();
+    }
+}

+ 10 - 0
app/src/main/java/me/yoqi/android/utils/StringUtils.java

@@ -0,0 +1,10 @@
+package me.yoqi.android.open2share.utils;
+
+/**
+ * @author liuyuqi.gov@msn.cn
+ * @createTime 2020-08-17
+ */
+public class StringUtils {
+
+}
+

+ 6 - 0
app/src/main/res/layout/activity_result.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+</LinearLayout>