summaryrefslogtreecommitdiff
path: root/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/dialer/DialtactsActivity.java8
-rw-r--r--src/com/android/dialer/calllog/CallLogFragment.java52
-rw-r--r--src/com/android/dialer/dialpad/DialpadFragment.java17
3 files changed, 19 insertions, 58 deletions
diff --git a/src/com/android/dialer/DialtactsActivity.java b/src/com/android/dialer/DialtactsActivity.java
index 726c17687..79d8d6977 100644
--- a/src/com/android/dialer/DialtactsActivity.java
+++ b/src/com/android/dialer/DialtactsActivity.java
@@ -422,15 +422,19 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
}
private void showDialpadFragment(boolean animate) {
+ mDialpadFragment.setAdjustTranslationForAnimation(animate);
final FragmentTransaction ft = getFragmentManager().beginTransaction();
if (animate) {
ft.setCustomAnimations(R.anim.slide_in, 0);
+ } else {
+ mDialpadFragment.setYFraction(0);
}
ft.show(mDialpadFragment);
ft.commit();
}
private void hideDialpadFragment(boolean animate) {
+ mDialpadFragment.setAdjustTranslationForAnimation(animate);
final FragmentTransaction ft = getFragmentManager().beginTransaction();
if (animate) {
ft.setCustomAnimations(0, R.anim.slide_out);
@@ -619,9 +623,7 @@ public class DialtactsActivity extends TransactionSafeActivity implements View.O
if (mDialpadFragment != null && (phoneIsInUse() || isDialIntent(intent))) {
mDialpadFragment.setStartedFromNewIntent(true);
- // TODO krelease: This should use showDialpadFragment(false) to avoid animating
- // the dialpad in. Need to fix the onPreDrawListener in NewDialpadFragment first.
- showDialpadFragment(true);
+ showDialpadFragment(false);
}
}
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 5d750044f..a76d0c17e 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -90,7 +90,6 @@ public class CallLogFragment extends ListFragment
private final Handler mHandler = new Handler();
private TelephonyManager mTelephonyManager;
- private PhoneStateListener mPhoneStateListener;
private class CustomContentObserver extends ContentObserver {
public CustomContentObserver() {
@@ -322,7 +321,6 @@ public class CallLogFragment extends ListFragment
mAdapter.changeCursor(null);
getActivity().getContentResolver().unregisterContentObserver(mCallLogObserver);
getActivity().getContentResolver().unregisterContentObserver(mContactsObserver);
- unregisterPhoneCallReceiver();
}
@Override
@@ -340,12 +338,6 @@ public class CallLogFragment extends ListFragment
}
private void updateCallList(int filterType) {
- if (filterType == CallLogQueryHandler.CALL_TYPE_ALL) {
- unregisterPhoneCallReceiver();
- } else {
- // TODO krelease: Make this work
- //registerPhoneCallReceiver();
- }
mCallLogQueryHandler.fetchCalls(filterType);
}
@@ -487,48 +479,4 @@ public class CallLogFragment extends ListFragment
serviceIntent.setAction(CallLogNotificationsService.ACTION_UPDATE_NOTIFICATIONS);
getActivity().startService(serviceIntent);
}
-
- // TODO krelease: Make the ViewPager switch to the correct tab (All) when a phone call is
- // placed.
- // This should probably be moved to the call log activity.
- /**
- * Register a phone call filter to reset the call type when a phone call is place.
- */
- /*
- private void registerPhoneCallReceiver() {
- if (mPhoneStateListener != null) {
- return; // Already registered.
- }
- mTelephonyManager = (TelephonyManager) getActivity().getSystemService(
- Context.TELEPHONY_SERVICE);
- mPhoneStateListener = new PhoneStateListener() {
- @Override
- public void onCallStateChanged(int state, String incomingNumber) {
- if (state != TelephonyManager.CALL_STATE_OFFHOOK &&
- state != TelephonyManager.CALL_STATE_RINGING) {
- return;
- }
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- if (getActivity() == null || getActivity().isFinishing()) {
- return;
- }
- }
- });
- }
- };
- mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_CALL_STATE);
- }
- */
-
- /**
- * Un-registers the phone call receiver.
- */
- private void unregisterPhoneCallReceiver() {
- if (mPhoneStateListener != null) {
- mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
- mPhoneStateListener = null;
- }
- }
}
diff --git a/src/com/android/dialer/dialpad/DialpadFragment.java b/src/com/android/dialer/dialpad/DialpadFragment.java
index 3052c67f0..e11337427 100644
--- a/src/com/android/dialer/dialpad/DialpadFragment.java
+++ b/src/com/android/dialer/dialpad/DialpadFragment.java
@@ -262,6 +262,7 @@ public class DialpadFragment extends Fragment
private boolean mStartedFromNewIntent = false;
private boolean mFirstLaunch = false;
+ private boolean mAdjustTranslationForAnimation = false;
private static final String PREF_DIGITS_FILLED_BY_INTENT = "pref_digits_filled_by_intent";
@@ -350,15 +351,17 @@ public class DialpadFragment extends Fragment
false);
fragmentView.buildLayer();
- // TODO krelease: Get rid of this ugly hack which is to prevent the first frame of the
- // animation from drawing the fragment at translationY = 0
final ViewTreeObserver vto = fragmentView.getViewTreeObserver();
+ // Adjust the translation of the DialpadFragment in a preDrawListener instead of in
+ // DialtactsActivity, because at the point in time when the DialpadFragment is added,
+ // its views have not been laid out yet.
final OnPreDrawListener preDrawListener = new OnPreDrawListener() {
@Override
public boolean onPreDraw() {
+
if (isHidden()) return true;
- if (fragmentView.getTranslationY() == 0) {
+ if (mAdjustTranslationForAnimation && fragmentView.getTranslationY() == 0) {
((DialpadSlidingLinearLayout) fragmentView).setYFraction(
DIALPAD_SLIDE_FRACTION);
}
@@ -1691,4 +1694,12 @@ public class DialpadFragment extends Fragment
activity.hideSearchBar();
}
}
+
+ public void setAdjustTranslationForAnimation(boolean value) {
+ mAdjustTranslationForAnimation = value;
+ }
+
+ public void setYFraction(float yFraction) {
+ ((DialpadSlidingLinearLayout) getView()).setYFraction(yFraction);
+ }
}