Commit b05534a6 by cuiliang.shi

0.6 闹钟设置 打开相机 应用新增 信息上传用AsyncTask

1 parent 66d31fcd
......@@ -15,8 +15,8 @@ android {
applicationId "com.toscl.turingos"
minSdkVersion 15
targetSdkVersion 22
versionCode 4
versionName "0.4"
versionCode 6
versionName "0.6"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
......
......@@ -27,7 +27,7 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
<application
android:persistent="true"
......
......@@ -8,6 +8,8 @@ import android.content.pm.PackageManager;
import android.graphics.Color;
import android.graphics.drawable.AnimationDrawable;
import android.media.AudioManager;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
......@@ -135,6 +137,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
"按下OK键陪我说话,你可以和我说:\"苹果的英文是什么?\"",
"按下OK键给我指令,你可以和我说:\"来首好听的歌。\"",
"按下OK键给我指令,你可以和我说:\"101乘以125等于多少。\"",
"按下OK键给我指令,你可以和我说:\"定一个早上8点的闹钟。\"",
};
int index = (int) (Math.random()*(helpInfo.length-1));
......@@ -183,36 +186,46 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
// Snackbar.with(this).text("正在播放中...").duration(300).show(this);
}
private void uploadThePhoneInfoToTuring() {
AppAndContactsBean appAndContactsBean = new AppAndContactsBean();
class UpdateMessageTask extends AsyncTask{
if (!PreferencesUtil.getInstance(mContext).getBoolean("is_uploaded_contact_2", false)) {
@Override
protected Object doInBackground(Object[] objects) {
Map<String, String> appMap = SkillsSlotUtil.queryFilterAppInfo(MainActivity.this);
appAndContactsBean.setAppsMap(appMap);
AppAndContactsBean appAndContactsBean = new AppAndContactsBean();
PreferencesUtil.getInstance(mContext).putBoolean("is_uploaded_contact_2", true);
}
if (!PreferencesUtil.getInstance(mContext).getBoolean("is_uploaded_phone_info", false)) {
Map<String, String> contactMap = SkillsSlotUtil.getContacts(mContext);
appAndContactsBean.setContactMap(contactMap);
Map<String, String> appMap = SkillsSlotUtil.queryFilterAppInfo(MainActivity.this);
appAndContactsBean.setAppsMap(appMap);
SemanticManager.getInstance().uploadAppsAndContacts(appAndContactsBean, new OnHttpRequestListener() {
@Override
public void onSuccess(String result) {
Log.d(TAG, "uploadAppsAndContacts.onSuccess.result:" + result);
}
@Override
public void onError(int code, String msg) {
Log.d(TAG, "uploadAppsAndContacts.onError.code:" + code + ";msg:" + msg);
}
Map<String, String> contactMap = SkillsSlotUtil.getContacts(mContext);
appAndContactsBean.setContactMap(contactMap);
@Override
public void onCancel() {
SemanticManager.getInstance().uploadAppsAndContacts(appAndContactsBean, new OnHttpRequestListener() {
@Override
public void onSuccess(String result) {
Log.d(TAG, "uploadAppsAndContacts.onSuccess.result:" + result);
PreferencesUtil.getInstance(mContext).putBoolean("is_uploaded_phone_info", true);
}
}
});
@Override
public void onError(int code, String msg) {
Log.d(TAG, "uploadAppsAndContacts.onError.code:" + code + ";msg:" + msg);
}
@Override
public void onCancel() {
}
});
return null;
}
}
private void uploadThePhoneInfoToTuring() {
UpdateMessageTask mUploadTask = new UpdateMessageTask();
mUploadTask.execute();
}
private void getWelcome() {
......@@ -368,6 +381,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
ttsSequenceList.add("我是" + getString(R.string.app_name) + ",有什么可以帮你的吗");
readTheInfo(ttsSequenceList);
uploadThePhoneInfoToTuring();
}
......@@ -616,15 +630,48 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
} catch (Exception e) {
}
/* String[] eccEntry = {"112", "120", "119", "911", "110", "118", "000", "999"};
for (String ecc : eccEntry) {
if (ecc.equals(phoneNum)){
handleMyTips("紧急号码请手动拨出");
try {
Thread.sleep(2500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}*/
if (!phoneNum.equals("")) {
ApiResultCode.callPhone(phoneNum, context);
} else {
handleMyTips("您的通讯录中没有该联系人");
}
break;
case 200710:
try {
String time = intent.getParameters().getAsJsonObject().get("time").getAsString();
Log.d(TAG, "startDate:" + time);
String[] timeArr = time.split(":");
SkillsSlotUtil.setSystemAlarmClock(mContext, "闹钟", Integer.parseInt(timeArr[0]), Integer.parseInt(timeArr[1]));
} catch (Exception e) {
}
break;
case 200501:
try{
ApiResultCode.doStartApplicationWithPackageName("com.mediatek.camera/com.mediatek.camera.CameraLauncher", context);
}catch (Exception e){
handleMyTips("相机启动失败");
}
break;
default:
break;
}
}
@SuppressLint("HandlerLeak")
private Handler mLoadToastHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
......@@ -657,6 +704,8 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
readTheInfo(ttsSequenceList);
}
break;
default:
break;
}
}
};
......
......@@ -7,16 +7,32 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
public class ApiResultCode {
private static String TAG = "ApiResultCode";
public static void callPhone(String phoneNum, Context context) {
Log.d(TAG, "callPhone: phoneNum: " + phoneNum);
String[] eccEntry = {"112", "120", "119", "911", "110", "118", "000", "999", "122"};
Intent intent = new Intent(Intent.ACTION_CALL);
for (String ecc : eccEntry) {
if (ecc.equals(phoneNum)){
intent = new Intent(Intent.ACTION_DIAL);
// android.intent.action.DIAL dat=tel:x pkg=com.sprd.simple.launcher cmp=com.sprd.simple.launcher/com.nb.dq.calllog.CallDialpadActivity
Uri data = Uri.parse("tel:" + 112);
intent.setData(data);
context.startActivity(intent);
return;
}
}
Uri data = Uri.parse("tel:" + phoneNum);
intent.setData(data);
context.startActivity(intent);
......@@ -24,6 +40,7 @@ public class ApiResultCode {
public static void doStartApplicationWithPackageName(String packageName, Context context){
Log.d(TAG, "doStartApplicationWithPackageName, packageName: " + packageName);
if (packageName.contains("/")){
Intent intentUsb = new Intent();
intentUsb.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
......
......@@ -10,6 +10,8 @@ import android.content.pm.ResolveInfo;
import android.database.Cursor;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Build;
import android.provider.AlarmClock;
import android.provider.ContactsContract;
import android.util.Log;
......@@ -130,6 +132,12 @@ public class SkillsSlotUtil {
appMap.put("通话记录", "com.sprd.simple.launcher/dx.com.contactforlaunch.ui.CallCenterActivity");
appMap.put("相机", "com.mediatek.camera/com.mediatek.camera.CameraLauncher");
appMap.put("最美天气", "com.icoolme.android.weather");
appMap.put("抖音", "com.ss.android.ugc.aweme");
appMap.put("拨号", "com.sprd.simple.launcher/com.nb.dq.calllog.CallDialpadActivity");
appMap.put("电话", "com.sprd.simple.launcher/com.nb.dq.calllog.CallDialpadActivity");
//mlistAppInfo = appInfos;
return appMap;
}
......@@ -188,5 +196,27 @@ public class SkillsSlotUtil {
}
}
}
public static boolean setSystemAlarmClock(Context context, String message, int hour, int minute) {
if (Build.VERSION.SDK_INT < 9) {
return false;
}
Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM);
intent.putExtra(AlarmClock.EXTRA_MESSAGE, message);
intent.putExtra(AlarmClock.EXTRA_HOUR, hour);
intent.putExtra(AlarmClock.EXTRA_MINUTES, minute);
if (Build.VERSION.SDK_INT >= 11) {
intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
}
if (Build.VERSION.SDK_INT >= 19) {
intent.putExtra(AlarmClock.EXTRA_VIBRATE, true);
}
try {
context.startActivity(intent);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!