Home | History | Annotate | Download | only in interactions
      1 package com.android.contacts.common.interactions;
      2 
      3 import android.graphics.Point;
      4 
      5 /**
      6  * Singleton class to keep track of where the user last touched the screen.
      7  *
      8  * Used to pass on to the InCallUI for animation.
      9  */
     10 public class TouchPointManager {
     11     public static final String TOUCH_POINT = "touchPoint";
     12 
     13     private static TouchPointManager sInstance = new TouchPointManager();
     14 
     15     private Point mPoint = new Point();
     16 
     17     /**
     18      * Private constructor.  Instance should only be acquired through getInstance().
     19      */
     20     private TouchPointManager() {
     21     }
     22 
     23     public static TouchPointManager getInstance() {
     24         return sInstance;
     25     }
     26 
     27     public Point getPoint() {
     28         return mPoint;
     29     }
     30 
     31     public void setPoint(int x, int y) {
     32         mPoint.set(x, y);
     33     }
     34 
     35     /**
     36      * When a point is initialized, its value is (0,0). Since it is highly unlikely a user will
     37      * touch at that exact point, if the point in TouchPointManager is (0,0), it is safe to assume
     38      * that the TouchPointManager has not yet collected a touch.
     39      *
     40      * @return True if there is a valid point saved. Define a valid point as any point that is
     41      * not (0,0).
     42      */
     43     public boolean hasValidPoint() {
     44         return mPoint.x != 0 || mPoint.y != 0;
     45     }
     46 }
     47