147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy/*
247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * Copyright (C) 2010 The Android Open Source Project
347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy *
447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * Licensed under the Apache License, Version 2.0 (the "License");
547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * you may not use this file except in compliance with the License.
647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * You may obtain a copy of the License at
747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy *
847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy *      http://www.apache.org/licenses/LICENSE-2.0
947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy *
1047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * Unless required by applicable law or agreed to in writing, software
1147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * distributed under the License is distributed on an "AS IS" BASIS,
1247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * See the License for the specific language governing permissions and
1447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy * limitations under the License.
1547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy */
1647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy
1747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guypackage com.android.test.hwui;
1847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy
1947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.animation.ObjectAnimator;
2047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.app.Activity;
2147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.content.Context;
2247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Bitmap;
2347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.BitmapFactory;
2447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Camera;
2547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Canvas;
2647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.graphics.Matrix;
2747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.os.Bundle;
2847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.view.View;
2947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.widget.FrameLayout;
3047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guyimport android.widget.ImageView;
3147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy
3247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy@SuppressWarnings({"UnusedDeclaration"})
3347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guypublic class Animated3dActivity extends Activity {
3447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy    @Override
3547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy    protected void onCreate(Bundle savedInstanceState) {
3647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        super.onCreate(savedInstanceState);
3747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy
3847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        ImageView view = new ImageView(this);
3947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        view.setImageResource(R.drawable.large_photo);
4047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy
4147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        setContentView(view, new FrameLayout.LayoutParams(
4247b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy                FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT
4347b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        ));
4447b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy
4547b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        ObjectAnimator animator = ObjectAnimator.ofFloat(view, "rotationY", 0.0f, 360.0f);
4647b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        animator.setDuration(4000);
4747b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        animator.setRepeatCount(ObjectAnimator.INFINITE);
4847b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        animator.setRepeatMode(ObjectAnimator.REVERSE);
4947b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy        animator.start();
5047b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy    }
5147b8adec3904535c8d8ce2b6e42ecd736f2d90ceRomain Guy}
52