Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
石璀亮
/
turingos
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit b05534a6
authored
Aug 26, 2019
by
cuiliang.shi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0.6 闹钟设置 打开相机 应用新增 信息上传用AsyncTask
1 parent
66d31fcd
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
122 additions
and
26 deletions
app/build.gradle
app/src/main/AndroidManifest.xml
app/src/main/java/com/toscl/turingos/MainActivity.java
app/src/main/java/com/toscl/turingos/util/ApiResultCode.java
app/src/main/java/com/toscl/turingos/util/SkillsSlotUtil.java
app/build.gradle
View file @
b05534a
...
...
@@ -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
{
...
...
app/src/main/AndroidManifest.xml
View file @
b05534a
...
...
@@ -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"
...
...
app/src/main/java/com/toscl/turingos/MainActivity.java
View file @
b05534a
...
...
@@ -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
(
contact
Map
);
Map
<
String
,
String
>
appMap
=
SkillsSlotUtil
.
queryFilterAppInfo
(
MainActivity
.
this
);
appAndContactsBean
.
setAppsMap
(
app
Map
);
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
;
}
}
};
...
...
app/src/main/java/com/toscl/turingos/util/ApiResultCode.java
View file @
b05534a
...
...
@@ -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
);
...
...
app/src/main/java/com/toscl/turingos/util/SkillsSlotUtil.java
View file @
b05534a
...
...
@@ -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
;
}
}
}
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment