Add support for gestures in Home.
Adds a new animation style for the gestures pad, and de-normalize the scores in the recognition engine.
This commit is contained in:
@@ -46850,6 +46850,17 @@
|
||||
visibility="public"
|
||||
>
|
||||
</method>
|
||||
<method name="getFadeOffset"
|
||||
return="long"
|
||||
abstract="false"
|
||||
native="false"
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
</method>
|
||||
<method name="getGesture"
|
||||
return="android.gesture.Gesture"
|
||||
abstract="false"
|
||||
@@ -47080,6 +47091,19 @@
|
||||
<parameter name="fadeEnabled" type="boolean">
|
||||
</parameter>
|
||||
</method>
|
||||
<method name="setFadeOffset"
|
||||
return="void"
|
||||
abstract="false"
|
||||
native="false"
|
||||
synchronized="false"
|
||||
static="false"
|
||||
final="false"
|
||||
deprecated="not deprecated"
|
||||
visibility="public"
|
||||
>
|
||||
<parameter name="fadeOffset" type="long">
|
||||
</parameter>
|
||||
</method>
|
||||
<method name="setGesture"
|
||||
return="void"
|
||||
abstract="false"
|
||||
|
||||
@@ -274,6 +274,14 @@ public class GestureOverlayView extends FrameLayout {
|
||||
return mCurrentGesture;
|
||||
}
|
||||
|
||||
public long getFadeOffset() {
|
||||
return mFadeOffset;
|
||||
}
|
||||
|
||||
public void setFadeOffset(long fadeOffset) {
|
||||
mFadeOffset = fadeOffset;
|
||||
}
|
||||
|
||||
public void setGesture(Gesture gesture) {
|
||||
if (mCurrentGesture != null) {
|
||||
clear(false);
|
||||
|
||||
@@ -26,6 +26,20 @@ import java.util.TreeMap;
|
||||
*/
|
||||
|
||||
class InstanceLearner extends Learner {
|
||||
private static final Comparator<Prediction> sComparator = new Comparator<Prediction>() {
|
||||
public int compare(Prediction object1, Prediction object2) {
|
||||
double score1 = object1.score;
|
||||
double score2 = object2.score;
|
||||
if (score1 > score2) {
|
||||
return -1;
|
||||
} else if (score1 < score2) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@Override
|
||||
ArrayList<Prediction> classify(int sequenceType, float[] vector) {
|
||||
ArrayList<Prediction> predictions = new ArrayList<Prediction>();
|
||||
@@ -55,31 +69,19 @@ class InstanceLearner extends Learner {
|
||||
}
|
||||
}
|
||||
|
||||
double sum = 0;
|
||||
// double sum = 0;
|
||||
for (String name : label2score.keySet()) {
|
||||
double score = label2score.get(name);
|
||||
sum += score;
|
||||
// sum += score;
|
||||
predictions.add(new Prediction(name, score));
|
||||
}
|
||||
|
||||
// normalize
|
||||
for (Prediction prediction : predictions) {
|
||||
prediction.score /= sum;
|
||||
}
|
||||
// for (Prediction prediction : predictions) {
|
||||
// prediction.score /= sum;
|
||||
// }
|
||||
|
||||
Collections.sort(predictions, new Comparator<Prediction>() {
|
||||
public int compare(Prediction object1, Prediction object2) {
|
||||
double score1 = object1.score;
|
||||
double score2 = object2.score;
|
||||
if (score1 > score2) {
|
||||
return -1;
|
||||
} else if (score1 < score2) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
});
|
||||
Collections.sort(predictions, sComparator);
|
||||
|
||||
return predictions;
|
||||
}
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.widget;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
|
||||
23
core/res/res/anim/slide_in_up.xml
Normal file
23
core/res/res/anim/slide_in_up.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2009 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<translate
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
||||
android:fromYDelta="100%p"
|
||||
android:toYDelta="0"
|
||||
|
||||
android:duration="@android:integer/config_longAnimTime" />
|
||||
23
core/res/res/anim/slide_out_down.xml
Normal file
23
core/res/res/anim/slide_out_down.xml
Normal file
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2009 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<translate
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
|
||||
android:fromYDelta="0"
|
||||
android:toYDelta="100%p"
|
||||
|
||||
android:duration="@android:integer/config_longAnimTime" />
|
||||
@@ -124,6 +124,12 @@
|
||||
<item name="windowExitAnimation">@anim/shrink_fade_out_from_bottom</item>
|
||||
</style>
|
||||
|
||||
<!-- {@hide} -->
|
||||
<style name="Animation.SlidingCard">
|
||||
<item name="windowEnterAnimation">@anim/slide_in_up</item>
|
||||
<item name="windowExitAnimation">@anim/slide_out_down</item>
|
||||
</style>
|
||||
|
||||
<!-- Window animations that are applied to input method overlay windows.
|
||||
{@hide Pending API council approval} -->
|
||||
<style name="Animation.InputMethod">
|
||||
|
||||
Reference in New Issue
Block a user