Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 967cdb01 authored by Yorke Lee's avatar Yorke Lee
Browse files

Remove dead code

The TileInteractionTeaserView is no longer displayed in the UI.

Change-Id: Ieaf24cdf2ecd5971a22e58e34c49a4481b7d6320
parent 847d8e2d
Loading
Loading
Loading
Loading
+0 −77
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2013 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
  -->
<com.android.dialer.list.TileInteractionTeaserView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/background_dialer_list_items"
    android:paddingBottom="@dimen/favorites_row_bottom_padding"
    android:paddingTop="@dimen/favorites_row_top_padding">

    <LinearLayout
        android:id="@+id/swipeable_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >

        <ImageView
            android:id="@+id/arrow"
            android:layout_width="48dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="16dp"
            android:layout_marginRight="12dp"
            android:duplicateParentState="true"
            android:src="@drawable/ic_arrow"
            android:visibility="invisible" />

        <TextView
            android:id="@+id/text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="12dp"
            android:layout_marginTop="12dp"
            android:layout_weight="1"
            android:duplicateParentState="true"
            android:fontFamily="sans-serif-light"
            android:text="@string/contact_tooltip"
            android:textColor="@color/undo_dialogue_text_color"
            android:textSize="16sp" />

        <View
            android:id="@+id/dismiss_separator"
            android:layout_width="1dip"
            android:layout_height="match_parent"
            android:background="@color/undo_dialogue_text_color"
            android:layout_marginTop="16dp"
            android:layout_marginBottom="16dp"
            android:layout_marginStart="16dp"/>

        <ImageButton
            android:id="@+id/dismiss_button"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:background="?android:attr/selectableItemBackground"
            android:clickable="true"
            android:scaleType="center"
            android:src="@drawable/ic_cancel_holo_light"
            style="@style/DismissButtonStyle"
            android:contentDescription="@string/description_dismiss"/>

    </LinearLayout>

</com.android.dialer.list.TileInteractionTeaserView>
+0 −5
Original line number Diff line number Diff line
@@ -150,8 +150,6 @@ public class SpeedDialFragment extends AnalyticsFragment implements OnItemClickL

    private View mContactTileFrame;

    private TileInteractionTeaserView mTileInteractionTeaserView;

    private final HashMap<Long, Integer> mItemIdTopMap = new HashMap<Long, Integer>();
    private final HashMap<Long, Integer> mItemIdLeftMap = new HashMap<Long, Integer>();

@@ -217,9 +215,6 @@ public class SpeedDialFragment extends AnalyticsFragment implements OnItemClickL

        mContactTileFrame = mParentView.findViewById(R.id.contact_tile_frame);

        mTileInteractionTeaserView = (TileInteractionTeaserView) inflater.inflate(
                R.layout.tile_interactions_teaser_view, mListView, false);

        final LayoutAnimationController controller = new LayoutAnimationController(
                AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in));
        controller.setDelay(0);
+0 −153
Original line number Diff line number Diff line
package com.android.dialer.list;

import android.animation.Animator;

import android.animation.ValueAnimator;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.res.Resources;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.view.animation.DecelerateInterpolator;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.android.dialer.DialtactsActivity;
import com.android.dialer.R;

/**
 * A teaser to introduce people to the contact photo check boxes
 */
public class TileInteractionTeaserView extends FrameLayout {
    private static int sShrinkAnimationDuration;

    private static final String KEY_TILE_INTERACTION_TEASER_SHOWN =
            "key_tile_interaction_teaser_shown";

    private boolean mNeedLayout;
    private int mTextTop;
    private int mAnimatedHeight = -1;

    private ShortcutCardsAdapter mAdapter;

    public TileInteractionTeaserView(final Context context) {
        this(context, null);
    }

    public TileInteractionTeaserView(final Context context, final AttributeSet attrs) {
        super(context, attrs);
        final Resources resources = context.getResources();

        mNeedLayout = true;
        sShrinkAnimationDuration = resources.getInteger(R.integer.escape_animation_duration);
    }

    @Override
    protected void onFinishInflate() {
        findViewById(R.id.dismiss_button).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                startDestroyAnimation();
            }
        });
    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);

        final TextView text = (TextView) findViewById(R.id.text);
        final ImageView arrow = (ImageView) findViewById(R.id.arrow);

        // We post to avoid calling layout within layout
        arrow.post(new Runnable() {
            @Override
            public void run() {

                // The text top is changed when we move the arrow, so we need to
                // do multiple passes
                int textTop = text.getTop();
                if (mNeedLayout || textTop != mTextTop) {
                    mNeedLayout = false;
                    mTextTop = textTop;

                    final int lineHeight = text.getLineHeight();
                    final LinearLayout.LayoutParams arrowParams = (LinearLayout.LayoutParams) arrow
                            .getLayoutParams();
                    arrowParams.topMargin = mTextTop + lineHeight / 2;
                    arrow.setLayoutParams(arrowParams);
                }
                arrow.setVisibility(View.VISIBLE);
            }
        });
    }

    public boolean getShouldDisplayInList() {
        final SharedPreferences prefs = getContext().getSharedPreferences(
                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
        return prefs.getBoolean(KEY_TILE_INTERACTION_TEASER_SHOWN, true);
    }

    public void setAdapter(ShortcutCardsAdapter adapter) {
        mAdapter = adapter;
    }

    private void startDestroyAnimation() {
        final int start = getHeight();
        final int end = 0;
        mAnimatedHeight = start;
        Log.v("Interaction", "Start from" + start);

        ValueAnimator heightAnimator = ValueAnimator.ofInt(start, end);
        heightAnimator.setDuration(sShrinkAnimationDuration);
        heightAnimator.setInterpolator(new DecelerateInterpolator(2.0f));
        heightAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            public void onAnimationUpdate(ValueAnimator animation) {
                mAnimatedHeight = (Integer) animation.getAnimatedValue();
                requestLayout();
            }
        });
        heightAnimator.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animator) {
            }

            @Override
            public void onAnimationEnd(Animator animator) {
                setVisibility(GONE);
                setDismissed();
                if (mAdapter != null) {
                    mAdapter.notifyDataSetChanged();
                }
            }

            @Override
            public void onAnimationCancel(Animator animator) {
            }

            @Override
            public void onAnimationRepeat(Animator animator) {
            }
        });

        heightAnimator.start();
    }

    private void setDismissed() {
        final SharedPreferences prefs = getContext().getSharedPreferences(
                DialtactsActivity.SHARED_PREFS_NAME, Context.MODE_PRIVATE);
        prefs.edit().putBoolean(KEY_TILE_INTERACTION_TEASER_SHOWN, false).apply();
    }

    @Override
    protected void onMeasure(final int widthMeasureSpec, final int heightMeasureSpec) {
        if (mAnimatedHeight == -1) {
            super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        } else {
            setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), mAnimatedHeight);
        }
    }
}