Merge "Import translations. DO NOT MERGE"
diff --git a/res/layout/call_log_activity.xml b/res/layout/call_log_activity.xml
index 5a50823..6934fee 100644
--- a/res/layout/call_log_activity.xml
+++ b/res/layout/call_log_activity.xml
@@ -14,12 +14,22 @@
limitations under the License.
-->
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:id="@+id/calllog_frame">
+ android:id="@+id/calllog_frame"
+ android:orientation="vertical">
+ <com.android.dialer.list.ViewPagerTabs
+ android:id="@+id/viewpager_header"
+ android:layout_width="match_parent"
+ android:layout_height="?android:attr/actionBarSize"
+ android:textAllCaps="true"
+ android:orientation="horizontal"
+ android:layout_gravity="top"
+ style="@style/DialtactsActionBarTabTextStyle" />
<android.support.v4.view.ViewPager
android:id="@+id/call_log_pager"
android:layout_width="match_parent"
- android:layout_height="match_parent"/>
-</FrameLayout>
+ android:layout_height="0dp"
+ android:layout_weight="1"/>
+</LinearLayout>
diff --git a/res/layout/lists_fragment.xml b/res/layout/lists_fragment.xml
index d4995e0..740dc2a 100644
--- a/res/layout/lists_fragment.xml
+++ b/res/layout/lists_fragment.xml
@@ -26,7 +26,8 @@
android:layout_height="?android:attr/actionBarSize"
android:textAllCaps="true"
android:orientation="horizontal"
- android:layout_gravity="top"/>
+ android:layout_gravity="top"
+ style="@style/DialtactsActionBarTabTextStyle" />
<android.support.v4.view.ViewPager
android:id="@+id/lists_pager"
android:layout_width="match_parent"
diff --git a/res/layout/phone_favorite_tile_view.xml b/res/layout/phone_favorite_tile_view.xml
index 0779f2a..c48ace3 100644
--- a/res/layout/phone_favorite_tile_view.xml
+++ b/res/layout/phone_favorite_tile_view.xml
@@ -15,9 +15,6 @@
-->
<view
xmlns:android="http://schemas.android.com/apk/res/android"
- android:paddingBottom="1dip"
- android:paddingRight="1dip"
- android:paddingEnd="1dip"
android:id="@+id/contact_tile"
class="com.android.dialer.list.PhoneFavoriteSquareTileView" >
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index c8dfecc..7eb2ea0 100644
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -68,17 +68,15 @@
<dimen name="fake_menu_button_min_width">56dp</dimen>
<!-- Favorites tile and recent call log padding -->
- <dimen name="contact_tile_divider_width">12dp</dimen>
- <!-- Favorites tile and recent call log padding -->
- <dimen name="contact_tile_divider_padding">3dp</dimen>
+ <dimen name="contact_tile_divider_width">1dp</dimen>
<dimen name="contact_tile_info_button_height_and_width">36dp</dimen>
<item name="contact_tile_height_to_width_ratio" type="dimen">67%</item>
<dimen name="contact_tile_text_side_padding">10dp</dimen>
<dimen name="contact_tile_text_bottom_padding">8dp</dimen>
- <dimen name="favorites_row_top_padding">6dp</dimen>
- <dimen name="favorites_row_bottom_padding">6dp</dimen>
- <dimen name="favorites_row_start_padding">8dp</dimen>
- <dimen name="favorites_row_end_padding">8dp</dimen>
+ <dimen name="favorites_row_top_padding">1dp</dimen>
+ <dimen name="favorites_row_bottom_padding">0dp</dimen>
+ <dimen name="favorites_row_start_padding">1dp</dimen>
+ <dimen name="favorites_row_end_padding">1dp</dimen>
<dimen name="favorites_row_undo_text_side_padding">32dp</dimen>
<dimen name="recent_call_log_item_padding">8dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d67c788..4832ee9 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -698,13 +698,17 @@
<string name="dialpad_pound_letters"></string>
<!-- Title for the call log tab containing the list of all voicemails and calls
- [CHAR LIMIT=15] -->
+ [CHAR LIMIT=30] -->
<string name="call_log_all_title">All</string>
<!-- Title for the call log tab containing the list of all missed calls only
- [CHAR LIMIT=15] -->
+ [CHAR LIMIT=30] -->
<string name="call_log_missed_title">Missed</string>
+ <!-- Title for the call log tab containing the list of all voicemail calls only
+ [CHAR LIMIT=30] -->
+ <string name="call_log_voicemail_title">Voicemail</string>
+
<string name="tab_speed_dial">Speed Dial</string>
<string name="tab_recents">Recents</string>
diff --git a/src/com/android/dialer/calllog/CallLogActivity.java b/src/com/android/dialer/calllog/CallLogActivity.java
index d1b3623..cdd0baf 100644
--- a/src/com/android/dialer/calllog/CallLogActivity.java
+++ b/src/com/android/dialer/calllog/CallLogActivity.java
@@ -19,26 +19,18 @@
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
-import android.app.ActionBar.Tab;
-import android.app.ActionBar.TabListener;
-import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.provider.CallLog.Calls;
import android.support.v13.app.FragmentPagerAdapter;
-import android.support.v4.view.PagerTabStrip;
import android.support.v4.view.ViewPager;
-import android.support.v4.view.ViewPager.OnPageChangeListener;
-import android.text.Spannable;
-import android.text.SpannableString;
-import android.text.style.TypefaceSpan;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.android.dialer.DialtactsActivity;
import com.android.dialer.R;
-import com.android.dialer.calllog.CallLogFragment;
+import com.android.dialer.list.ViewPagerTabs;
public class CallLogActivity extends Activity {
@@ -46,11 +38,15 @@
private ViewPagerAdapter mViewPagerAdapter;
private CallLogFragment mAllCallsFragment;
private CallLogFragment mMissedCallsFragment;
+ private CallLogFragment mVoicemailFragment;
+
+ private String[] mTabTitles;
private static final int TAB_INDEX_ALL = 0;
private static final int TAB_INDEX_MISSED = 1;
+ private static final int TAB_INDEX_VOICEMAIL = 2;
- private static final int TAB_INDEX_COUNT = 2;
+ private static final int TAB_INDEX_COUNT = 3;
public class ViewPagerAdapter extends FragmentPagerAdapter {
public ViewPagerAdapter(FragmentManager fm) {
@@ -66,50 +62,24 @@
case TAB_INDEX_MISSED:
mMissedCallsFragment = new CallLogFragment(Calls.MISSED_TYPE);
return mMissedCallsFragment;
+ case TAB_INDEX_VOICEMAIL:
+ mVoicemailFragment = new CallLogFragment(Calls.VOICEMAIL_TYPE);
+ return mVoicemailFragment;
}
throw new IllegalStateException("No fragment at position " + position);
}
@Override
+ public CharSequence getPageTitle(int position) {
+ return mTabTitles[position];
+ }
+
+ @Override
public int getCount() {
return TAB_INDEX_COUNT;
}
}
- private final TabListener mTabListener = new TabListener() {
- @Override
- public void onTabUnselected(Tab tab, FragmentTransaction ft) {
- }
-
- @Override
- public void onTabSelected(Tab tab, FragmentTransaction ft) {
- if (mViewPager != null && mViewPager.getCurrentItem() != tab.getPosition()) {
- mViewPager.setCurrentItem(tab.getPosition(), true);
- }
- }
-
- @Override
- public void onTabReselected(Tab tab, FragmentTransaction ft) {
- }
- };
-
- private final OnPageChangeListener mOnPageChangeListener = new OnPageChangeListener() {
-
- @Override
- public void onPageScrolled(
- int position, float positionOffset, int positionOffsetPixels) {}
-
- @Override
- public void onPageSelected(int position) {
- final ActionBar actionBar = getActionBar();
- actionBar.selectTab(actionBar.getTabAt(position));
- }
-
- @Override
- public void onPageScrollStateChanged(int arg0) {
- }
- };
-
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -118,30 +88,23 @@
getWindow().setBackgroundDrawable(null);
final ActionBar actionBar = getActionBar();
- actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
- final Tab allTab = actionBar.newTab();
- final String allTitle = getString(R.string.call_log_all_title);
- allTab.setContentDescription(allTitle);
- allTab.setText(allTitle);
- allTab.setTabListener(mTabListener);
- actionBar.addTab(allTab);
-
- final Tab missedTab = actionBar.newTab();
- final String missedTitle = getString(R.string.call_log_missed_title);
- missedTab.setContentDescription(missedTitle);
- missedTab.setText(missedTitle);
- missedTab.setTabListener(mTabListener);
- actionBar.addTab(missedTab);
+ mTabTitles = new String[TAB_INDEX_COUNT];
+ mTabTitles[0] = getString(R.string.call_log_all_title);
+ mTabTitles[1] = getString(R.string.call_log_missed_title);
+ mTabTitles[2] = getString(R.string.call_log_voicemail_title);
mViewPager = (ViewPager) findViewById(R.id.call_log_pager);
+
mViewPagerAdapter = new ViewPagerAdapter(getFragmentManager());
mViewPager.setAdapter(mViewPagerAdapter);
- mViewPager.setOnPageChangeListener(mOnPageChangeListener);
- mViewPager.setOffscreenPageLimit(1);
+ mViewPager.setOffscreenPageLimit(2);
+
+ ViewPagerTabs tabs = (ViewPagerTabs) findViewById(R.id.viewpager_header);
+ tabs.setViewPager(mViewPager);
}
@Override
@@ -177,4 +140,4 @@
}
return super.onOptionsItemSelected(item);
}
-}
+}
\ No newline at end of file
diff --git a/src/com/android/dialer/calllog/CallLogFragment.java b/src/com/android/dialer/calllog/CallLogFragment.java
index 9526f39..18f37f2 100644
--- a/src/com/android/dialer/calllog/CallLogFragment.java
+++ b/src/com/android/dialer/calllog/CallLogFragment.java
@@ -30,7 +30,6 @@
import android.provider.CallLog.Calls;
import android.provider.ContactsContract;
import android.provider.VoicemailContract.Status;
-import android.telephony.PhoneNumberUtils;
import android.telephony.TelephonyManager;
import android.view.LayoutInflater;
import android.view.View;
@@ -48,7 +47,6 @@
import com.android.dialer.voicemail.VoicemailStatusHelper.StatusMessage;
import com.android.dialer.voicemail.VoicemailStatusHelperImpl;
import com.android.dialerbind.ObjectFactory;
-import com.android.internal.telephony.ITelephony;
import java.util.List;
@@ -84,8 +82,6 @@
private final Handler mHandler = new Handler();
- private TelephonyManager mTelephonyManager;
-
private class CustomContentObserver extends ContentObserver {
public CustomContentObserver() {
super(mHandler);
@@ -346,6 +342,9 @@
case Calls.MISSED_TYPE:
message = getString(R.string.recentMissed_empty);
break;
+ case Calls.VOICEMAIL_TYPE:
+ message = getString(R.string.recentVoicemails_empty);
+ break;
case CallLogQueryHandler.CALL_TYPE_ALL:
message = getString(R.string.recentCalls_empty);
break;
diff --git a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
index 1b5123d..0438fbd 100644
--- a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
+++ b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
@@ -826,7 +826,7 @@
MeasureSpec.makeMeasureSpec(height, MeasureSpec.EXACTLY)
);
}
- setMeasuredDimension(width, height + getPaddingTop() + getPaddingBottom());
+ setMeasuredDimension(width, height);
}
/**
diff --git a/src/com/android/dialer/list/ViewPagerTabs.java b/src/com/android/dialer/list/ViewPagerTabs.java
index 45f468d..8019f76 100644
--- a/src/com/android/dialer/list/ViewPagerTabs.java
+++ b/src/com/android/dialer/list/ViewPagerTabs.java
@@ -6,6 +6,7 @@
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
+import android.util.TypedValue;
import android.view.Gravity;
import android.view.View;
import android.widget.FrameLayout;
@@ -30,6 +31,7 @@
* of the parent HorizontalScrollView.
*/
LinearLayout mChild;
+ final int mTextStyle;
final ColorStateList mTextColor;
final int mTextSize;
final boolean mTextAllCaps;
@@ -39,7 +41,7 @@
private static final int TAB_SIDE_PADDING_IN_DPS = 10;
private static final int[] ATTRS = new int[] {
- android.R.attr.textAppearance,
+ android.R.attr.textStyle,
android.R.attr.textSize,
android.R.attr.textColor,
android.R.attr.textAllCaps
@@ -92,6 +94,7 @@
mSidePadding = (int) (getResources().getDisplayMetrics().density * TAB_SIDE_PADDING_IN_DPS);
final TypedArray a = context.obtainStyledAttributes(attrs, ATTRS);
+ mTextStyle = a.getInt(0, 0);
mTextSize = a.getDimensionPixelSize(1, 0);
mTextColor = a.getColorStateList(2);
mTextAllCaps = a.getBoolean(3, false);
@@ -99,6 +102,7 @@
mChild = new LinearLayout(context);
addView(mChild,
new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT));
+ a.recycle();
}
public void setViewPager(ViewPager viewPager) {
@@ -129,8 +133,11 @@
textView.setOnLongClickListener(new OnTabLongClickListener(position));
// Assign various text appearance related attributes to child views.
+ if (mTextStyle > 0) {
+ textView.setTypeface(textView.getTypeface(), mTextStyle);
+ }
if (mTextSize > 0) {
- textView.setTextSize(mTextSize);
+ textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize);
}
if (mTextColor != null) {
textView.setTextColor(mTextColor);