diff options
author | Clark Scheff <clark@cyngn.com> | 2014-07-29 12:15:56 -0700 |
---|---|---|
committer | Clark Scheff <clark@cyngn.com> | 2014-07-29 13:36:38 -0700 |
commit | 89df9342c934e750c11d1402f4b5c51b34defdec (patch) | |
tree | a132efce032474022c0bac3772e96268e5a089e7 | |
parent | e71e42f7304f5e6ba563a48de4ce1e70c94776ef (diff) | |
download | packages_apps_ThemeChooser-89df9342c934e750c11d1402f4b5c51b34defdec.tar.gz packages_apps_ThemeChooser-89df9342c934e750c11d1402f4b5c51b34defdec.tar.bz2 packages_apps_ThemeChooser-89df9342c934e750c11d1402f4b5c51b34defdec.zip |
Remove v1 code and resources and refactor v2 chooser.
Change-Id: Ic617365b3d26944e11c592b1508b4170ddb2871e
106 files changed, 120 insertions, 5303 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c11a5a9..7e7eacc 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,7 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="org.cyanogenmod.theme.chooser" - android:sharedUserId="org.cyanogenmod.themes" + package="com.cyngn.theme.chooser" android:versionCode="7" android:versionName="1.0" > @@ -25,25 +24,10 @@ android:allowBackup="true" android:icon="@drawable/ic_app_themes" android:label="@string/app_name" - android:theme="@style/AppTheme" > - <activity - android:name="org.cyanogenmod.theme.chooser.ChooserActivity" - android:label="@string/app_name" - android:launchMode="singleTop"> - <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.DEFAULT" /> - <category android:name="cyanogenmod.intent.category.APP_THEMES" /> - </intent-filter> - <intent-filter > - <action android:name="android.intent.action.SET_WALLPAPER" /> - <category android:name="android.intent.category.DEFAULT" /> - </intent-filter> - </activity> - - <activity android:name="org.cyanogenmod.theme.chooserv2.ChooserActivity" + android:theme="@style/ThemeChooserTheme" > + <activity android:name="com.cyngn.theme.chooser.ChooserActivity" android:label="@string/app_name" - android:theme="@style/ThemeChooserV2Theme" + android:theme="@style/ThemeChooserTheme" android:configChanges="themeChange" android:launchMode="singleTop"> <intent-filter> @@ -52,7 +36,7 @@ </intent-filter> </activity> - <receiver android:name="org.cyanogenmod.theme.chooser.AppReceiver" > + <receiver android:name="com.cyngn.theme.chooser.AppReceiver" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" /> @@ -60,7 +44,7 @@ </intent-filter> </receiver> - <service android:name="org.cyanogenmod.theme.chooser.NotificationHijackingService" + <service android:name="com.cyngn.theme.chooser.NotificationHijackingService" android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE"> <intent-filter> <action android:name="android.service.notification.NotificationListenerService" /> diff --git a/res/drawable-xhdpi/ic_drawer.png b/res/drawable-xhdpi/ic_drawer.png Binary files differdeleted file mode 100644 index bcf49dd..0000000 --- a/res/drawable-xhdpi/ic_drawer.png +++ /dev/null diff --git a/res/drawable/apply_button_bg.xml b/res/drawable/apply_button_bg.xml deleted file mode 100644 index b598916..0000000 --- a/res/drawable/apply_button_bg.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" android:drawable="@color/author_grey" /> - <item android:state_pressed="true" android:drawable="@color/apply_button_pressed_color" /> - <item android:drawable="@drawable/progress" /> -</selector>
\ No newline at end of file diff --git a/res/drawable/apply_button_text.xml b/res/drawable/apply_button_text.xml deleted file mode 100644 index 1eb1088..0000000 --- a/res/drawable/apply_button_text.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<selector xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:state_enabled="false" - android:color="@color/apply_button_text_color_disabled" /> - <item android:color="@color/apply_button_text_color_enabled" /> -</selector>
\ No newline at end of file diff --git a/res/drawable/progress.xml b/res/drawable/progress.xml deleted file mode 100644 index 8e65bd5..0000000 --- a/res/drawable/progress.xml +++ /dev/null @@ -1,6 +0,0 @@ -<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> - <item android:id="@android:id/background" android:drawable="@drawable/progress_bg"/> - <item android:id="@android:id/progress"> - <clip android:drawable="@drawable/progress_bg2"/> - </item> -</layer-list> diff --git a/res/drawable/progress_bg.xml b/res/drawable/progress_bg.xml deleted file mode 100644 index 6b0a128..0000000 --- a/res/drawable/progress_bg.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape - xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="@color/apply_button_default_color" /> -</shape>
\ No newline at end of file diff --git a/res/drawable/progress_bg2.xml b/res/drawable/progress_bg2.xml deleted file mode 100644 index 24725ed..0000000 --- a/res/drawable/progress_bg2.xml +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<shape - xmlns:android="http://schemas.android.com/apk/res/android" - android:shape="rectangle"> - <solid - android:color="@color/apply_button_progress_color" /> -</shape>
\ No newline at end of file diff --git a/res/layout/activity_main.xml b/res/layout/activity_main.xml index ed80e0d..3f4bebf 100644 --- a/res/layout/activity_main.xml +++ b/res/layout/activity_main.xml @@ -1,21 +1,29 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<FrameLayout - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/content" + +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" - android:layout_height="match_parent"/> + android:layout_height="match_parent" + android:background="@drawable/bg_grid"> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical" + android:layout_gravity="center_vertical"> + <com.cyngn.theme.chooser.PagerContainer + android:id="@+id/pager_container" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_gravity="center_vertical"> + <android.support.v4.view.ThemeViewPager + android:id="@+id/viewpager" + android:layout_width="@dimen/theme_fragment_width" + android:layout_height="match_parent" + android:layout_gravity="center_horizontal" + android:overScrollMode="never"/> + </com.cyngn.theme.chooser.PagerContainer> + </LinearLayout> + + <include layout="@layout/component_selector"/> + <include layout="@layout/save_apply_button_2"/> + +</FrameLayout> diff --git a/res/layout/v2item_audible.xml b/res/layout/audible_card.xml index 9fda261..8c67d81 100644 --- a/res/layout/v2item_audible.xml +++ b/res/layout/audible_card.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -29,4 +29,4 @@ android:layout_height="24dp" android:src="@drawable/media_sound_preview"/> </LinearLayout> -</org.cyanogenmod.theme.chooserv2.ComponentCardView> +</com.cyngn.theme.chooser.ComponentCardView> diff --git a/res/layout/audible_preview_item.xml b/res/layout/audible_preview_item.xml deleted file mode 100644 index a977170..0000000 --- a/res/layout/audible_preview_item.xml +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical"> - - <TextView - android:id="@+id/audible_name" - android:layout_width="0dp" - android:layout_height="wrap_content" - android:layout_weight="1" - android:layout_gravity="center" - android:layout_marginStart="16dp" - style="@android:style/TextAppearance.Large"/> - - <ImageView - android:id="@+id/btn_play_pause" - android:layout_width="64dp" - android:layout_height="64dp" - android:layout_marginEnd="16dp" - android:padding="5dp" - android:scaleType="fitCenter" - android:src="@android:drawable/ic_media_play" /> -</LinearLayout> diff --git a/res/layout/audibles_preview.xml b/res/layout/audibles_preview.xml deleted file mode 100644 index 6a9414a..0000000 --- a/res/layout/audibles_preview.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" > - - <LinearLayout - android:id="@+id/audibles_layout" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical" - android:orientation="vertical" /> - -</FrameLayout> diff --git a/res/layout/v2item_bootani.xml b/res/layout/bootanim_card.xml index 47706b9..99b2c9a 100644 --- a/res/layout/v2item_bootani.xml +++ b/res/layout/bootanim_card.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/bootani_preview_container" android:layout_width="match_parent" @@ -9,7 +9,7 @@ <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent"> - <org.cyanogenmod.theme.widget.BootAniImageView + <com.cyngn.theme.widget.BootAniImageView android:id="@+id/bootani_preview" android:layout_width="match_parent" android:layout_height="wrap_content" @@ -23,4 +23,4 @@ android:text="@string/boot_animation_label" style="@style/card_label"/> </FrameLayout> -</org.cyanogenmod.theme.chooserv2.ComponentCardView> +</com.cyngn.theme.chooser.ComponentCardView> diff --git a/res/layout/component_selector.xml b/res/layout/component_selector.xml index a33eeb0..4529ec5 100644 --- a/res/layout/component_selector.xml +++ b/res/layout/component_selector.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentSelector +<com.cyngn.theme.chooser.ComponentSelector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:themes="http://schemas.android.com/apk/res-auto" android:id="@+id/component_selector" @@ -20,8 +20,7 @@ android:id="@+id/pager" android:layout_width="match_parent" android:layout_height="@dimen/component_selection_cell_height" - themes:itemsPerPage="4" - /> + themes:itemsPerPage="4"/> <com.viewpagerindicator.CirclePageIndicator android:id="@+id/page_indicator" @@ -40,4 +39,4 @@ android:id="@+id/navbar_padding" android:layout_width="match_parent" android:layout_height="@*android:dimen/system_bar_height"/> -</org.cyanogenmod.theme.chooserv2.ComponentSelector>
\ No newline at end of file +</com.cyngn.theme.chooser.ComponentSelector>
\ No newline at end of file diff --git a/res/layout/v2item_font.xml b/res/layout/font_card.xml index e922f33..59f08ca 100644 --- a/res/layout/v2item_font.xml +++ b/res/layout/font_card.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/font_preview_container" android:layout_width="match_parent" @@ -29,4 +29,4 @@ android:textSize="40sp" android:gravity="center" /> -</org.cyanogenmod.theme.chooserv2.ComponentCardView> +</com.cyngn.theme.chooser.ComponentCardView> diff --git a/res/layout/font_component_selection_item.xml b/res/layout/font_component_selection_item.xml index bd3c154..1d3434c 100644 --- a/res/layout/font_component_selection_item.xml +++ b/res/layout/font_component_selection_item.xml @@ -5,7 +5,7 @@ android:layout_height="@dimen/component_selection_cell_height" android:background="@drawable/component_selection_selector"> - <org.cyanogenmod.theme.util.FittedTextView + <com.cyngn.theme.widget.FittedTextView android:id="@+id/text_preview" android:layout_width="@dimen/component_selection_content_width" android:layout_height="@dimen/component_selection_content_height" diff --git a/res/layout/font_preview_item.xml b/res/layout/font_preview_item.xml deleted file mode 100644 index f8b4ab5..0000000 --- a/res/layout/font_preview_item.xml +++ /dev/null @@ -1,57 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:background="@color/offwhite" - android:paddingLeft="30dp" - android:paddingRight="40dp" - android:paddingTop="40dp"> - <org.cyanogenmod.theme.util.FittedTextView - android:id="@+id/text1" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_horizontal" - android:singleLine="true" - android:ellipsize="none" - android:text="@string/font_preview_letters" /> - <org.cyanogenmod.theme.util.FittedTextView - android:id="@+id/text2" - android:singleLine="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_horizontal" - android:ellipsize="none" - android:text="@string/font_preview_letters" /> - <org.cyanogenmod.theme.util.FittedTextView - android:id="@+id/text3" - android:singleLine="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_horizontal" - android:ellipsize="none" - android:text="@string/font_preview_letters" /> - <org.cyanogenmod.theme.util.FittedTextView - android:id="@+id/text4" - android:singleLine="true" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:gravity="center_horizontal" - android:ellipsize="none" - android:text="@string/font_preview_letters" /> -</LinearLayout> diff --git a/res/layout/fragment_boot_animation_preview.xml b/res/layout/fragment_boot_animation_preview.xml deleted file mode 100644 index e69f828..0000000 --- a/res/layout/fragment_boot_animation_preview.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:orientation="vertical" android:layout_width="match_parent" - android:layout_height="match_parent"> - - <org.cyanogenmod.theme.widget.BootAniImageView - android:id="@+id/animated_preview" - android:layout_width="match_parent" - android:layout_height="match_parent" /> - - <TextView - android:id="@+id/no_preview" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:text="@string/no_preview_available" - android:textSize="20sp" - android:visibility="invisible" /> - - <ProgressBar - android:id="@+id/loading_progress" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:indeterminate="true" /> - -</FrameLayout>
\ No newline at end of file diff --git a/res/layout/fragment_chooser_browse.xml b/res/layout/fragment_chooser_browse.xml deleted file mode 100644 index 720825a..0000000 --- a/res/layout/fragment_chooser_browse.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="match_parent" - tools:context=".MainActivity$PlaceholderFragment" > - - <ListView - android:id="@+id/list" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:divider="@null" /> - - <ProgressBar - android:id="@+id/loadingAnim" - style="?android:attr/progressBarStyleLarge" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentBottom="true" - android:layout_centerHorizontal="true" - android:visibility="gone" /> - -</RelativeLayout>
\ No newline at end of file diff --git a/res/layout/fragment_chooser_component_browse.xml b/res/layout/fragment_chooser_component_browse.xml deleted file mode 100644 index 6d6297f..0000000 --- a/res/layout/fragment_chooser_component_browse.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/pager" - android:layout_width="match_parent" - android:layout_height="match_parent" /> diff --git a/res/layout/fragment_chooser_theme_pager_item.xml b/res/layout/fragment_chooser_theme_pager_item.xml deleted file mode 100644 index e5a8af3..0000000 --- a/res/layout/fragment_chooser_theme_pager_item.xml +++ /dev/null @@ -1,168 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:themes="http://schemas.android.com/apk/res/org.cyanogenmod.theme.chooser" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical"> - - <org.cyanogenmod.theme.util.ChooserDetailScrollView - android:id="@+id/sliding_layout" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:layout_above="@+id/apply" - android:layout_gravity="bottom" - android:scrollbars="none" - android:clickable="false"> - - <!-- Note: Do not change the child order - without reviewing ChooserDetailLinearLayout --> - <org.cyanogenmod.theme.util.ChooserDetailLinearLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical"> - - <!-- The viewpager cannot be parallax scrolled directly (weird things happen) - so we wrap it in this frame layout --> - <FrameLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - > - <org.cyanogenmod.theme.util.ClickableViewPager - android:id="@+id/pager" - android:layout_width="match_parent" - android:layout_height="wrap_content"/> - </FrameLayout> - - <!-- Drawer Handle --> - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@color/detailedview_pager_background" - android:paddingLeft="24dp" - android:paddingRight="10dp" - android:paddingBottom="4dp"> - - <TextView - android:id="@+id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_alignParentLeft="true" - android:layout_alignParentTop="true" - android:ellipsize="end" - android:maxLines="1" - android:paddingTop="6dp" - android:textSize="28sp"/> - - <TextView - android:id="@+id/author" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentLeft="true" - android:layout_below="@id/title" - android:layout_marginTop="-2dp" - android:text="@string/unknown_author" - android:textSize="12sp"/> - - </RelativeLayout> - - <!-- Drawer Contents --> - <LinearLayout - android:id="@+id/details" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:orientation="vertical" - android:background="@color/detailedview_pager_background" - android:paddingTop="6dp"> - - <CheckBox - android:id="@+id/chk_overlays" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/style"/> - - <CheckBox - android:id="@+id/chk_wallpaper" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/wallpapers"/> - - <CheckBox - android:id="@+id/chk_lockscreen" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/lock_screen"/> - - <CheckBox - android:id="@+id/chk_fonts" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/fonts"/> - - <CheckBox - android:id="@+id/chk_icons" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/icons"/> - - <CheckBox - android:id="@+id/chk_boot_anims" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/boot_anims"/> - - <CheckBox - android:id="@+id/chk_ringtones" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/ringtones"/> - - <CheckBox - android:id="@+id/chk_notifications" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/notifications"/> - - <CheckBox - android:id="@+id/chk_alarms" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@string/alarms"/> - </LinearLayout> - - <com.viewpagerindicator.CirclePageIndicator - android:id="@+id/titles" - android:layout_height="wrap_content" - android:layout_width="match_parent" - android:paddingTop="10dp" - android:paddingBottom="10dp" - /> - - </org.cyanogenmod.theme.util.ChooserDetailLinearLayout> - </org.cyanogenmod.theme.util.ChooserDetailScrollView> - <Button - android:id="@+id/apply" - android:layout_width="match_parent" - android:layout_height="60dp" - android:layout_alignParentBottom="true" - android:enabled="false" - android:background="@drawable/apply_button_bg" - android:text="@string/apply" - android:textColor="@drawable/apply_button_text" - android:textStyle="bold"/> - -</RelativeLayout> diff --git a/res/layout/v2_fragment_pager_list.xml b/res/layout/fragment_pager_list.xml index f342b7d..d84c5bf 100644 --- a/res/layout/v2_fragment_pager_list.xml +++ b/res/layout/fragment_pager_list.xml @@ -36,10 +36,10 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="@dimen/theme_preview_height"> - <include layout="@layout/v2_status_bar_preview_item"/> - <include layout="@layout/v2item_font"/> - <include layout="@layout/v2item_icon"/> - <include layout="@layout/v2_nav_bar_preview_item"/> + <include layout="@layout/status_bar_card"/> + <include layout="@layout/font_card"/> + <include layout="@layout/icon_card"/> + <include layout="@layout/navbar_card"/> </LinearLayout> <ImageView android:id="@+id/loading_view" @@ -59,7 +59,7 @@ android:layout_below="@id/shadow_frame" android:layout_marginTop="@dimen/expanded_card_margin_top" android:visibility="invisible"> - <org.cyanogenmod.theme.chooserv2.WallpaperCardView + <com.cyngn.theme.chooser.WallpaperCardView android:id="@+id/wallpaper_card" android:layout_width="match_parent" android:layout_height="@dimen/wallpaper_card_height" @@ -67,7 +67,7 @@ /> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> - <org.cyanogenmod.theme.chooserv2.WallpaperCardView + <com.cyngn.theme.chooser.WallpaperCardView android:id="@+id/lockscreen_card" android:visibility="gone" android:layout_width="match_parent" @@ -77,25 +77,25 @@ /> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> - <include layout="@layout/v2item_style" /> + <include layout="@layout/style_card" /> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> <include android:id="@+id/ringtone_preview_container" - layout="@layout/v2item_audible" /> + layout="@layout/audible_card" /> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> <include android:id="@+id/notification_preview_container" - layout="@layout/v2item_audible" /> + layout="@layout/audible_card" /> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> <include android:id="@+id/alarm_preview_container" - layout="@layout/v2item_audible" /> + layout="@layout/audible_card" /> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> - <include layout="@layout/v2item_bootani"/> + <include layout="@layout/bootanim_card"/> <Space android:layout_width="match_parent" android:layout_height="@dimen/expanded_card_margin_top" /> diff --git a/res/layout/v2item_icon.xml b/res/layout/icon_card.xml index 7351a44..dc4d115 100644 --- a/res/layout/v2item_icon.xml +++ b/res/layout/icon_card.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/icon_container" android:layout_width="match_parent" @@ -44,4 +44,4 @@ /> <Space android:layout_width="30dp" android:layout_height="match_parent"/> </LinearLayout> -</org.cyanogenmod.theme.chooserv2.ComponentCardView>
\ No newline at end of file +</com.cyngn.theme.chooser.ComponentCardView>
\ No newline at end of file diff --git a/res/layout/image_preview_item.xml b/res/layout/image_preview_item.xml deleted file mode 100644 index d7f3546..0000000 --- a/res/layout/image_preview_item.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent"> - <ImageView android:id="@+id/image" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="centerCrop"/> - <LinearLayout - android:id="@+id/icon_container" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:gravity="center_horizontal" - android:orientation="horizontal" - android:paddingLeft="30dp" - android:paddingRight="40dp" - android:paddingTop="40dp" > - </LinearLayout> - - <TextView - android:id="@+id/no_preview" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_gravity="center" - android:textSize="20sp" - android:text="@string/no_preview_available" - android:visibility="invisible"/> -</FrameLayout>
\ No newline at end of file diff --git a/res/layout/item_chooser_browse_font.xml b/res/layout/item_chooser_browse_font.xml deleted file mode 100644 index 50744f8..0000000 --- a/res/layout/item_chooser_browse_font.xml +++ /dev/null @@ -1,86 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="248dp" - android:orientation="vertical" - tools:context=".StoreActivity" - tools:ignore="MergeRootFrame" > - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="4" - android:paddingLeft="24dp" - android:paddingTop="20dp" - android:paddingBottom="20dp" - android:gravity="center_vertical" - android:orientation="vertical" - android:background="@color/offwhite" >s - - <TextView - android:id="@+id/text1" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:ellipsize="none" - android:singleLine="true" - android:text="@string/font_preview_letters" - android:textSize="36sp" /> - - <TextView - android:id="@+id/text2" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:ellipsize="none" - android:singleLine="true" - android:text="@string/font_preview_letters" - android:textSize="36sp" /> - - </LinearLayout> - - <LinearLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="3" - android:orientation="vertical" - android:gravity="center_vertical"> - - <TextView - android:id="@+id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="-20dp" - android:ellipsize="end" - android:maxLines="1" - android:paddingLeft="24dp" - android:fontFamily="sans-serif-light" - android:textSize="38sp" - android:includeFontPadding="false" /> - - <TextView - android:id="@+id/author" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="-2dp" - android:textColor="@color/author_grey" - android:textStyle="bold" - android:paddingLeft="26dp" - android:textSize="12sp" /> - </LinearLayout> - -</LinearLayout>
\ No newline at end of file diff --git a/res/layout/item_store_browse.xml b/res/layout/item_store_browse.xml deleted file mode 100644 index 8411614..0000000 --- a/res/layout/item_store_browse.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" - xmlns:tools="http://schemas.android.com/tools" - android:layout_width="match_parent" - android:layout_height="@dimen/item_browse_height" - android:orientation="vertical" - tools:context=".StoreActivity" - tools:ignore="MergeRootFrame" > - - <FrameLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="5" - android:background="@color/offwhite"> - <ImageView android:id="@+id/image" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:scaleType="centerCrop"/> - <LinearLayout - android:id="@+id/icon_container" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:gravity="center" - android:orientation="horizontal" - android:paddingLeft="30dp" - android:paddingRight="30dp"> - </LinearLayout> - </FrameLayout> - - <RelativeLayout - android:layout_width="match_parent" - android:layout_height="0dp" - android:layout_weight="2" - android:background="@color/title_author_background" > - - <TextView - android:id="@+id/title" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_alignParentLeft="true" - android:layout_alignParentTop="true" - android:ellipsize="end" - android:maxLines="1" - android:paddingLeft="24dp" - android:paddingTop="6dp" - android:textSize="28sp" /> - - <TextView - android:id="@+id/author" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:layout_alignParentLeft="true" - android:layout_below="@id/title" - android:layout_marginTop="-2dp" - android:paddingLeft="26dp" - android:textSize="12sp" /> - </RelativeLayout> - -</LinearLayout> diff --git a/res/layout/v2_nav_bar_preview_item.xml b/res/layout/navbar_card.xml index 71c65ef..9fd9ae4 100644 --- a/res/layout/v2_nav_bar_preview_item.xml +++ b/res/layout/navbar_card.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/navigation_bar_container" android:layout_width="match_parent" @@ -57,4 +57,4 @@ android:layout_weight="1"/> </LinearLayout> -</org.cyanogenmod.theme.chooserv2.ComponentCardView>
\ No newline at end of file +</com.cyngn.theme.chooser.ComponentCardView>
\ No newline at end of file diff --git a/res/layout/v2_status_bar_preview_item.xml b/res/layout/status_bar_card.xml index 1520b0e..f07a624 100644 --- a/res/layout/v2_status_bar_preview_item.xml +++ b/res/layout/status_bar_card.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/status_bar_container" android:layout_width="match_parent" @@ -73,4 +73,4 @@ android:text="@string/status_bar_clock_text" style="@style/TextAppearance.StatusBar.Clock"/> </LinearLayout> -</org.cyanogenmod.theme.chooserv2.ComponentCardView>
\ No newline at end of file +</com.cyngn.theme.chooser.ComponentCardView>
\ No newline at end of file diff --git a/res/layout/v2item_style.xml b/res/layout/style_card.xml index c0704fb..6168ecb 100644 --- a/res/layout/v2item_style.xml +++ b/res/layout/style_card.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<org.cyanogenmod.theme.chooserv2.ComponentCardView +<com.cyngn.theme.chooser.ComponentCardView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/style_card" android:layout_width="match_parent" @@ -19,4 +19,4 @@ android:layout_gravity="center" android:scaleType="fitCenter" android:gravity="center"/> -</org.cyanogenmod.theme.chooserv2.ComponentCardView> +</com.cyngn.theme.chooser.ComponentCardView> diff --git a/res/layout/v2_activity_main.xml b/res/layout/v2_activity_main.xml deleted file mode 100644 index 5d81b5b..0000000 --- a/res/layout/v2_activity_main.xml +++ /dev/null @@ -1,47 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" - android:layout_width="match_parent" - android:layout_height="match_parent" - android:background="@drawable/bg_grid"> - <LinearLayout - android:layout_width="match_parent" - android:layout_height="match_parent" - android:orientation="vertical" - android:layout_gravity="center_vertical"> - <org.cyanogenmod.theme.chooserv2.PagerContainer - android:id="@+id/pager_container" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_gravity="center_vertical"> - <android.support.v4.view.ThemeViewPager - android:id="@+id/viewpager" - android:layout_width="@dimen/theme_fragment_width" - android:layout_height="match_parent" - android:layout_gravity="center_horizontal" - android:overScrollMode="never"/> - </org.cyanogenmod.theme.chooserv2.PagerContainer> - <LinearLayout - android:id="@+id/apply_edit_container" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:paddingLeft="48dp" - android:paddingRight="48dp"> - <Button android:id="@+id/apply" - android:layout_width="0dp" - android:layout_height="48dp" - android:layout_weight="1" - android:text="@string/apply"/> - - <Button android:id="@+id/edit" - android:layout_width="0dp" - android:layout_height="48dp" - android:layout_weight="1" - android:text="@string/edit"/> - </LinearLayout> - </LinearLayout> - - <include layout="@layout/component_selector"/> - <include layout="@layout/save_apply_button_2"/> - -</FrameLayout> diff --git a/res/layout/v2wallpaper_card.xml b/res/layout/wallpaper_card.xml index cb1deba..cb1deba 100644 --- a/res/layout/v2wallpaper_card.xml +++ b/res/layout/wallpaper_card.xml diff --git a/res/menu/chooser_menu.xml b/res/menu/chooser_menu.xml deleted file mode 100644 index 838f9fe..0000000 --- a/res/menu/chooser_menu.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<menu xmlns:android="http://schemas.android.com/apk/res/android"> - <item - android:id="@+id/get_more_themes" - android:title="@string/menu_item_get_more_themes" - android:showAsAction="always" /> -</menu>
\ No newline at end of file diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml deleted file mode 100644 index 861389a..0000000 --- a/res/values-af/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temas</string> - <string name="lock_screen">Slotskerm agtergronde</string> - <string name="icons">Ikone</string> - <string name="fonts">Lettertipes</string> - <string name="wallpapers">Agtergrond</string> - <string name="boot_anims">Begin Animasies</string> - <string name="ringtones">Luitoon</string> - <string name="notifications">Kennisgewings</string> - <string name="alarms">Alarms</string> - <string name="style">Styl</string> - <string name="default_tag">(Standaard)</string> - <string name="apply">Pas toe</string> - <string name="applying">Pas toe\u2026</string> - <string name="remove">Verwyder</string> - <string name="update">Opgradeer</string> - <string name="no_preview_available">Geen voorskou beskikbaar nie</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Kennisgewing</string> - <string name="ringtone_label">Luitoon</string> - <string name="unknown_author">Onbekende verskaffer</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s geïnstalleer</string> - <string name="theme_installed_notification_text">Tema suksesvol geïnstalleer.</string> - <string name="menu_item_get_more_themes">Kry meer</string> - <string name="get_more_description">Jy kan meer temas verkry van die volgende skakels:</string> - <string-array name="get_more_entry_names"> - <item>Vertoonkas van CyanogenMod Temas</item> - <item>Play-winkel</item> - <item>Meer inligting op die CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml deleted file mode 100644 index 0ccbd62..0000000 --- a/res/values-ar/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">المواضيع</string> - <string name="lock_screen">خلفية قفل الشاشة</string> - <string name="icons">الأيقونات</string> - <string name="fonts">الخطوط</string> - <string name="wallpapers">خلفيات</string> - <string name="boot_anims">الرسوم المتحركة في التشغيل</string> - <string name="ringtones">نغمات</string> - <string name="notifications">التنبيهات</string> - <string name="alarms">التنبيهات</string> - <string name="style">نمط</string> - <string name="default_tag">(الافتراضي)</string> - <string name="apply">طبّق</string> - <string name="applying">تطبيق\u2026</string> - <string name="remove">إزالة</string> - <string name="update">تحديث</string> - <string name="no_preview_available">لا تتوفر أية معاينة</string> - <string name="alarm_label">المنبه</string> - <string name="notification_label">الإعلام</string> - <string name="ringtone_label">نغمة رنين</string> - <string name="unknown_author">مؤلف غير معروف</string> - <string name="font_preview_letters">Aaابت123١٢٣</string> - <string name="theme_installed_notification_title">%s مثبت</string> - <string name="theme_installed_notification_text">موضوع مثبت بنجاح.</string> - <string name="menu_item_get_more_themes">احصل على المزيد</string> - <string name="get_more_description">يمكنك الحصول على المزيد من المواضيع من الروابط التالية:</string> - <string-array name="get_more_entry_names"> - <item>عرض مواضيع CyanogenMod</item> - <item>متجر Play</item> - <item>مزيد من المعلومات حول Wiki CM</item> - </string-array> -</resources> diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml deleted file mode 100644 index 579f6fc..0000000 --- a/res/values-ca/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temes</string> - <string name="lock_screen">Bloqueja els fons de pantalla</string> - <string name="icons">Icones</string> - <string name="fonts">Tipus de lletra</string> - <string name="wallpapers">Fons de pantalla</string> - <string name="boot_anims">Animacions d\'arrencada</string> - <string name="ringtones">Tons de trucada</string> - <string name="notifications">Notificacions</string> - <string name="alarms">Alarmes</string> - <string name="style">Estil</string> - <string name="default_tag">(Predeterminat)</string> - <string name="apply">Aplica</string> - <string name="applying">S\'està aplicant\u2026</string> - <string name="remove">Treu</string> - <string name="update">Actualitza</string> - <string name="no_preview_available">No hi ha previsualització disponible</string> - <string name="alarm_label">Alarma</string> - <string name="notification_label">Notificació</string> - <string name="ringtone_label">To de trucada</string> - <string name="unknown_author">Autor desconegut</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s instal·lat</string> - <string name="theme_installed_notification_text">Tema instal·lat satisfactòriament.</string> - <string name="menu_item_get_more_themes">Aconsegueix-ne més</string> - <string name="get_more_description">Pots obtenir més temes als enllaços següents:</string> - <string-array name="get_more_entry_names"> - <item>Aparador de temes de CyanogenMod</item> - <item>Play Store</item> - <item>Més informació al Wiki de CM</item> - </string-array> -</resources> diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml deleted file mode 100644 index 939ca3d..0000000 --- a/res/values-cs/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Motivy</string> - <string name="lock_screen">Tapety zámku obrazovky</string> - <string name="icons">Ikony</string> - <string name="fonts">Písma</string> - <string name="wallpapers">Tapety</string> - <string name="boot_anims">Startovací animace</string> - <string name="ringtones">Vyzváněcí tóny</string> - <string name="notifications">Upozornění</string> - <string name="alarms">Budíky</string> - <string name="style">Styl</string> - <string name="default_tag">(Výchozí)</string> - <string name="apply">Použít</string> - <string name="applying">Aplikuje se\u2026</string> - <string name="remove">Odstranit</string> - <string name="update">Aktualizovat</string> - <string name="no_preview_available">Náhled není dostupný</string> - <string name="alarm_label">Budík</string> - <string name="notification_label">Upozornění</string> - <string name="ringtone_label">Vyzváněcí tón</string> - <string name="unknown_author">Neznámý autor</string> - <string name="font_preview_letters">AaBbCcDd123 ěščřžýáíé</string> - <string name="theme_installed_notification_title">%s instalován</string> - <string name="theme_installed_notification_text">Motiv byl úspěšně nainstalován.</string> - <string name="menu_item_get_more_themes">Získat více</string> - <string name="get_more_description">Další motivy můžete získat z následujících odkazů:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Themes Showcase</item> - <item>Obchod Play</item> - <item>Více informací na Wiki CM</item> - </string-array> -</resources> diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml deleted file mode 100644 index d7a276b..0000000 --- a/res/values-da/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temaer</string> - <string name="lock_screen">Baggrunde til skærmlås</string> - <string name="icons">Ikoner</string> - <string name="fonts">Fonte</string> - <string name="wallpapers">Baggrunde</string> - <string name="boot_anims">Opstartsanimationer</string> - <string name="ringtones">Ringetoner</string> - <string name="notifications">Meddelelser</string> - <string name="alarms">Alarmer</string> - <string name="style">Stil</string> - <string name="default_tag">(Standard)</string> - <string name="apply">Anvend</string> - <string name="applying">Anvender\u2026</string> - <string name="remove">Fjern</string> - <string name="update">Opdatér</string> - <string name="no_preview_available">Intet eksempel tilgængeligt</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Meddelelse</string> - <string name="ringtone_label">Ringetone</string> - <string name="unknown_author">Forfatter ukendt</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s installeret</string> - <string name="theme_installed_notification_text">Tema installeret.</string> - <string name="menu_item_get_more_themes">Hent mere</string> - <string name="get_more_description">Du kan få flere temaer fra følgende links:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Temapræsentation</item> - <item>Play Butik</item> - <item>Mere info på CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml deleted file mode 100644 index 5c9b3ad..0000000 --- a/res/values-de/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Designs</string> - <string name="lock_screen">Sperrbildschirm-Hintergründe</string> - <string name="icons">Symbole</string> - <string name="fonts">Schriftarten</string> - <string name="wallpapers">Hintergründe</string> - <string name="boot_anims">Boot-Animationen</string> - <string name="ringtones">Klingeltöne</string> - <string name="notifications">Benachrichtigungen</string> - <string name="alarms">Wecker</string> - <string name="style">Stil</string> - <string name="default_tag">(Standard)</string> - <string name="apply">Anwenden</string> - <string name="applying">Wird angewendet\u2026</string> - <string name="remove">Entfernen</string> - <string name="update">Aktualisieren</string> - <string name="no_preview_available">Keine Vorschau verfügbar</string> - <string name="alarm_label">Wecker</string> - <string name="notification_label">Benachrichtigung</string> - <string name="ringtone_label">Klingelton</string> - <string name="unknown_author">Autor unbekannt</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s installiert</string> - <string name="theme_installed_notification_text">Design erfolgreich installiert</string> - <string name="menu_item_get_more_themes">Mehr beziehen</string> - <string name="get_more_description">Weitere Designs erhalten Sie unter den folgenden Links:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod-Design-Galerie</item> - <item>Play Store</item> - <item>Weitere Informationen im CM-Wiki</item> - </string-array> -</resources> diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml deleted file mode 100644 index b3d6758..0000000 --- a/res/values-el/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Θέματα</string> - <string name="lock_screen">Ταπετσαρίες κλειδώματος</string> - <string name="icons">Εικονίδια</string> - <string name="fonts">Γραμματοσειρές</string> - <string name="wallpapers">Ταπετσαρίες</string> - <string name="boot_anims">Κινούμενες εικόνες εκκίνησης</string> - <string name="ringtones">Ήχοι κλήσης</string> - <string name="notifications">Ειδοποιήσεις</string> - <string name="alarms">Ξυπνητήρια</string> - <string name="style">Στυλ</string> - <string name="default_tag">(Προεπιλογή)</string> - <string name="apply">Εφαρμογή</string> - <string name="applying">Εφαρμογή\u2026</string> - <string name="remove">Αφαίρεση</string> - <string name="update">Ενημέρωση</string> - <string name="no_preview_available">Δεν υπάρχει διαθέσιμη προεπισκόπηση</string> - <string name="alarm_label">Ξυπνητήρι</string> - <string name="notification_label">Ειδοποίηση</string> - <string name="ringtone_label">Ήχος κλήσης</string> - <string name="unknown_author">Άγνωστος συντάκτης</string> - <string name="font_preview_letters">ΑαΒβΓγΔδ123</string> - <string name="theme_installed_notification_title">%s εγκαταστάθηκε</string> - <string name="theme_installed_notification_text">Το θέμα εγκαταστάθηκε με επιτυχία.</string> - <string name="menu_item_get_more_themes">Βρείτε περισσότερα</string> - <string name="get_more_description">Μπορείτε να βρείτε περισσότερα θέματα από τους παρακάτω συνδέσμους:</string> - <string-array name="get_more_entry_names"> - <item>Κατάστημα Θεμάτων CyanogenMod</item> - <item>Play Store</item> - <item>Περισσότερες πληροφορίες στο CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-es-rXA/strings.xml b/res/values-es-rXA/strings.xml deleted file mode 100644 index bb7dbcf..0000000 --- a/res/values-es-rXA/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temes</string> - <string name="lock_screen">Bloquiar fondos de pantalla</string> - <string name="icons">Iconos</string> - <string name="fonts">Fontes</string> - <string name="wallpapers">Fondos de pantalla</string> - <string name="boot_anims">Animaciones d\'aniciu</string> - <string name="ringtones">Tonos</string> - <string name="notifications">Notificaciones</string> - <string name="alarms">Alarmes</string> - <string name="style">Estilu</string> - <string name="default_tag">(Por defeutu)</string> - <string name="apply">Aplicar</string> - <string name="applying">Aplicando\u2026</string> - <string name="remove">Desaniciar</string> - <string name="update">Anovar</string> - <string name="no_preview_available">Vista previa non disponible</string> - <string name="alarm_label">Alarma</string> - <string name="notification_label">Notificación</string> - <string name="ringtone_label">Tonu de llamada</string> - <string name="unknown_author">Autor desconocíu</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s instaláu</string> - <string name="theme_installed_notification_text">Tema instaláu correutamente.</string> - <string name="menu_item_get_more_themes">Consiguir más</string> - <string name="get_more_description">Pues consiguir más temes nos siguientes enllaces:</string> - <string-array name="get_more_entry_names"> - <item>Escaparate de temes de CyanogenMod</item> - <item>Play Store</item> - <item>Más información na Wiki de CM</item> - </string-array> -</resources> diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml deleted file mode 100644 index b864b40..0000000 --- a/res/values-es/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temas</string> - <string name="lock_screen">Fondos de bloqueo</string> - <string name="icons">Iconos</string> - <string name="fonts">Fuentes</string> - <string name="wallpapers">Fondos de pantalla</string> - <string name="boot_anims">Animaciones de inicio</string> - <string name="ringtones">Tonos de llamada</string> - <string name="notifications">Notificaciones</string> - <string name="alarms">Alarmas</string> - <string name="style">Estilo</string> - <string name="default_tag">(Por defecto)</string> - <string name="apply">Aplicar</string> - <string name="applying">Aplicando\u2026</string> - <string name="remove">Eliminar</string> - <string name="update">Actualizar</string> - <string name="no_preview_available">Vista previa no disponible</string> - <string name="alarm_label">Alarma</string> - <string name="notification_label">Notificación</string> - <string name="ringtone_label">Tono de llamada</string> - <string name="unknown_author">Autor desconocido</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s instalado</string> - <string name="theme_installed_notification_text">Tema instalado correctamente.</string> - <string name="menu_item_get_more_themes">Conseguir más</string> - <string name="get_more_description">Puedes conseguir más temas en los siguientes enlaces:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Themes Showcase</item> - <item>Play Store</item> - <item>Más información en la Wiki de CM</item> - </string-array> -</resources> diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml deleted file mode 100644 index 3f10c28..0000000 --- a/res/values-et/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Teemad</string> - <string name="lock_screen">Lukusta taustapildid</string> - <string name="icons">Ikoonid</string> - <string name="fonts">Fondid</string> - <string name="wallpapers">Taustapildid</string> - <string name="boot_anims">Alganimatsioon</string> - <string name="ringtones">Helinad</string> - <string name="notifications">Teated</string> - <string name="alarms">Alarmid</string> - <string name="style">Stiil</string> - <string name="default_tag">(Vaikimisi)</string> - <string name="apply">Rakenda</string> - <string name="applying">Rakendan\u2026</string> - <string name="remove">Eemalda</string> - <string name="update">Värskenda</string> - <string name="no_preview_available">Eelvaade pole saadaval</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Teade</string> - <string name="ringtone_label">Helin</string> - <string name="unknown_author">Autor teadmata</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s installitud</string> - <string name="theme_installed_notification_text">Teema edukalt installitud.</string> - <string name="menu_item_get_more_themes">Saa rohkem</string> - <string name="get_more_description">Sa saad rohkem teemasid järgnevatelt linkidelt:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Teemade Esitlus</item> - <item>Play Pood</item> - <item>Rohkem teavet CM Wiki\'st</item> - </string-array> -</resources> diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml deleted file mode 100644 index c30900e..0000000 --- a/res/values-fi/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Teemat</string> - <string name="lock_screen">Lukitusnäytön taustakuvat</string> - <string name="icons">Kuvakkeet</string> - <string name="fonts">Fontit</string> - <string name="wallpapers">Taustakuvat</string> - <string name="boot_anims">Käynnistysanimaatiot</string> - <string name="ringtones">Soittoäänet</string> - <string name="notifications">Ilmoitukset</string> - <string name="alarms">Hälytykset</string> - <string name="style">Tyyli</string> - <string name="default_tag">(Oletus)</string> - <string name="apply">Ota käyttöön</string> - <string name="applying">Otetaan käyttöön\u2026</string> - <string name="remove">Poista</string> - <string name="update">Päivitä</string> - <string name="no_preview_available">Esikatselu ei käytettävissä</string> - <string name="alarm_label">Hälytys</string> - <string name="notification_label">Ilmoitus</string> - <string name="ringtone_label">Soittoääni</string> - <string name="unknown_author">Tuntematon tekijä</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s asennettu</string> - <string name="theme_installed_notification_text">Teema asennettu onnistuneesti.</string> - <string name="menu_item_get_more_themes">Hanki lisää</string> - <string name="get_more_description">Voit hankkia lisää teemoja seuraavista osoitteista:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Themes Showcase</item> - <item>Play-kauppa</item> - <item>Lisää tietoja CM Wikissä</item> - </string-array> -</resources> diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml deleted file mode 100644 index e519128..0000000 --- a/res/values-fr/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Thèmes</string> - <string name="lock_screen">Fonds d\'écran de verrouillage</string> - <string name="icons">Icônes</string> - <string name="fonts">Polices</string> - <string name="wallpapers">Fonds d\'écran</string> - <string name="boot_anims">Animations de démarrage</string> - <string name="ringtones">Sonneries</string> - <string name="notifications">Notifications</string> - <string name="alarms">Alarmes</string> - <string name="style">Style</string> - <string name="default_tag">(Défaut)</string> - <string name="apply">Appliquer</string> - <string name="applying">Application en cours\u2026</string> - <string name="remove">Supprimer</string> - <string name="update">Mettre à jour</string> - <string name="no_preview_available">Aucun aperçu disponible</string> - <string name="alarm_label">Alarme</string> - <string name="notification_label">Notification</string> - <string name="ringtone_label">Sonnerie</string> - <string name="unknown_author">Auteur inconnu</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s installé</string> - <string name="theme_installed_notification_text">Thème installé avec succès.</string> - <string name="menu_item_get_more_themes">Obtenez plus</string> - <string name="get_more_description">Vous pouvez obtenir plus de thèmes depuis les liens suivants :</string> - <string-array name="get_more_entry_names"> - <item>Galerie de thèmes CyanogenMod</item> - <item>Play Store</item> - <item>Plus d\'infos sur le Wiki de CM</item> - </string-array> -</resources> diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml deleted file mode 100644 index bc19145..0000000 --- a/res/values-hu/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Témák</string> - <string name="lock_screen">Képernyőzár háttérképek</string> - <string name="icons">Ikonok</string> - <string name="fonts">Betűtípusok</string> - <string name="wallpapers">Háttérképek</string> - <string name="boot_anims">Boot animációk</string> - <string name="ringtones">Csengőhangok</string> - <string name="notifications">Értesítések</string> - <string name="alarms">Ébresztők</string> - <string name="style">Stílus</string> - <string name="default_tag">(Alapértelmezett)</string> - <string name="apply">Alkalmazás</string> - <string name="applying">Alkalmazás\u2026</string> - <string name="remove">Eltávolítás</string> - <string name="update">Frissítés</string> - <string name="no_preview_available">Nincs előnézeti kép</string> - <string name="alarm_label">Ébresztő</string> - <string name="notification_label">Értesítés</string> - <string name="ringtone_label">Csengőhang</string> - <string name="unknown_author">Ismeretlen szerző</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s telepítve</string> - <string name="theme_installed_notification_text">Téma sikeresen telepítve.</string> - <string name="menu_item_get_more_themes">Továbbiak beszerzése</string> - <string name="get_more_description">További témákat az alábbi linkeken találhat:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Témák Showcase</item> - <item>Play Áruház</item> - <item>További információ a CM Wiki oldalán</item> - </string-array> -</resources> diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml deleted file mode 100644 index 9e74522..0000000 --- a/res/values-in/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Tema</string> - <string name="lock_screen">Kunci wallpaper</string> - <string name="icons">Ikon</string> - <string name="fonts">Font</string> - <string name="wallpapers">Wallpaper</string> - <string name="boot_anims">Animasi boot</string> - <string name="ringtones">Nada dering</string> - <string name="notifications">Pemberitahuan</string> - <string name="alarms">Alarm</string> - <string name="style">Gaya</string> - <string name="default_tag">(Default)</string> - <string name="apply">Terapkan</string> - <string name="applying">Menerapkan\u2026</string> - <string name="remove">Hapus</string> - <string name="update">Perbarui</string> - <string name="no_preview_available">Tidak ada pratinjau tersedia</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Pemberitahuan</string> - <string name="ringtone_label">Nada dering</string> - <string name="unknown_author">Pembuat tidak dikenal</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s terinstal</string> - <string name="theme_installed_notification_text">Tema berhasil dipasang.</string> - <string name="menu_item_get_more_themes">Dapatkan lebih</string> - <string name="get_more_description">Anda bisa mendapatkan lebih banyak tema dari link berikut:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Tema Showcase</item> - <item>Play Store</item> - <item>Info lebih lanjut di CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml deleted file mode 100644 index 7993ebf..0000000 --- a/res/values-it/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temi</string> - <string name="lock_screen">Sfondi sblocco</string> - <string name="icons">Icone</string> - <string name="fonts">Caratteri</string> - <string name="wallpapers">Sfondi</string> - <string name="boot_anims">Animazioni di avvio</string> - <string name="ringtones">Suonerie</string> - <string name="notifications">Notifiche</string> - <string name="alarms">Allarmi</string> - <string name="style">Stile</string> - <string name="default_tag">(predefinito)</string> - <string name="apply">Applica</string> - <string name="applying">Applicando\u2026</string> - <string name="remove">Rimuovi</string> - <string name="update">Aggiorna</string> - <string name="no_preview_available">Anteprima non disponibile</string> - <string name="alarm_label">Allarme</string> - <string name="notification_label">Notifica</string> - <string name="ringtone_label">Suoneria</string> - <string name="unknown_author">Autore sconosciuto</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s installato</string> - <string name="theme_installed_notification_text">Tema installato con successo.</string> - <string name="menu_item_get_more_themes">Ottieni altri</string> - <string name="get_more_description">È possibile ottenere ulteriori temi dai seguenti link:</string> - <string-array name="get_more_entry_names"> - <item>Vetrina temi CyanogenMod</item> - <item>Play Store</item> - <item>Più info su Wiki CM</item> - </string-array> -</resources> diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml deleted file mode 100644 index 1151e03..0000000 --- a/res/values-iw/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">ערכות עיצוב</string> - <string name="lock_screen">רקעי מסך הנעילה</string> - <string name="icons">סמלים</string> - <string name="fonts">גופנים</string> - <string name="wallpapers">רקעים</string> - <string name="boot_anims">אנימציות אתחול</string> - <string name="ringtones">רינגטונים</string> - <string name="notifications">התראות</string> - <string name="alarms">שעונים מעוררים</string> - <string name="style">סגנון</string> - <string name="default_tag">(ברירת מחדל)</string> - <string name="apply">החל</string> - <string name="applying">מחיל\u2026</string> - <string name="remove">הסר</string> - <string name="update">עדכן</string> - <string name="no_preview_available">אין תצוגה מקדימה</string> - <string name="alarm_label">שעון מעורר</string> - <string name="notification_label">התראות</string> - <string name="ringtone_label">רינגטון</string> - <string name="unknown_author">מחבר לא ידוע</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s מותקנים</string> - <string name="theme_installed_notification_text">הערכה הותקנה בהצלחה.</string> - <string name="menu_item_get_more_themes">קבל עוד</string> - <string name="get_more_description">אתה יכול לקבל עוד ערכות מהקישורים הבאים:</string> - <string-array name="get_more_entry_names"> - <item>תצוגת ערכות עיצוב CyanogenMod</item> - <item>חנות Play</item> - <item>מידע נוסף ב-CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml deleted file mode 100644 index 8739593..0000000 --- a/res/values-ja/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">テーマ</string> - <string name="lock_screen">ロック画面の壁紙</string> - <string name="icons">アイコン</string> - <string name="fonts">フォント</string> - <string name="wallpapers">壁紙</string> - <string name="boot_anims">ブートアニメーション</string> - <string name="ringtones">着信音</string> - <string name="notifications">通知</string> - <string name="alarms">アラーム</string> - <string name="style">スタイル</string> - <string name="default_tag">(デフォルト)</string> - <string name="apply">適用</string> - <string name="applying">適用中\u2026</string> - <string name="remove">削除</string> - <string name="update">アップデート</string> - <string name="no_preview_available">プレビューは利用できません</string> - <string name="alarm_label">アラーム</string> - <string name="notification_label">通知</string> - <string name="ringtone_label">着信音</string> - <string name="unknown_author">作成者不明</string> - <string name="font_preview_letters">あいうえおAaBbCc123</string> - <string name="theme_installed_notification_title">%sがインストールされました</string> - <string name="theme_installed_notification_text">テーマのインストールが完了しました。</string> - <string name="menu_item_get_more_themes">他のテーマ</string> - <string name="get_more_description">以下のリンクから他のテーマを手に入れることができます:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenModテーマショーケース</item> - <item>Playストア</item> - <item>CMのWikiで詳細情報を見る</item> - </string-array> -</resources> diff --git a/res/values-ku/strings.xml b/res/values-ku/strings.xml deleted file mode 100644 index d60c4ae..0000000 --- a/res/values-ku/strings.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">سیم</string> - <string name="lock_screen">قوفڵکردنی وێنهی سهرشاشه</string> - <string name="icons">ئایکۆن</string> - <string name="fonts">فۆنتهکان</string> - <string name="wallpapers">وێنهی سهرشاشه</string> - <string name="boot_anims">ئهنیمهیشنی بووت</string> - <string name="ringtones">زهنگ</string> - <string name="notifications">تێبینیهکان</string> - <string name="alarms">ئاگادارکرنهوه</string> - <string name="style">ستایل</string> - <string name="default_tag">(بنهڕهت)</string> - <string name="apply">لێدان</string> - <string name="applying">لێدانی/u2026</string> - <string name="remove">سڕینهوه</string> - <string name="update">تازهکردنهوه</string> - <string name="alarm_label">ئاگهدارکهر</string> - <string name="notification_label">تێبینیهکان</string> - <string name="ringtone_label">زهنگ</string> - <string name="unknown_author">دانهری نهناسراو</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s دامهزراوه</string> - <string name="theme_installed_notification_text">تێم بهسهرکهوتوی دامهزرا.</string> -</resources> diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml deleted file mode 100644 index 93d02de..0000000 --- a/res/values-land/dimens.xml +++ /dev/null @@ -1,19 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - * Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <dimen name="sliding_up_panel_parallax_distance">75dp</dimen> -</resources>
\ No newline at end of file diff --git a/res/values-lb/strings.xml b/res/values-lb/strings.xml deleted file mode 100644 index 0502f58..0000000 --- a/res/values-lb/strings.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Designen</string> - <string name="icons">Symboler</string> - <string name="fonts">Schrëftaarten</string> - <string name="wallpapers">Hannergrondbiller</string> - <string name="apply">Applizéieren</string> - <string name="remove">Läschen</string> - <string name="update">Aktualiséieren</string> -</resources> diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml deleted file mode 100644 index 82a6b60..0000000 --- a/res/values-lt/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temos</string> - <string name="lock_screen">Ekrano užrakto fonai</string> - <string name="icons">Piktogramos</string> - <string name="fonts">Šriftai</string> - <string name="wallpapers">Darbalaukio fonai</string> - <string name="boot_anims">Įkrovos animacijos</string> - <string name="ringtones">Melodijos</string> - <string name="notifications">Pranešimai</string> - <string name="alarms">Žadintuvai</string> - <string name="style">Stilius</string> - <string name="default_tag">(Numatytoji)</string> - <string name="apply">Taikyti</string> - <string name="applying">Taikoma\u2026</string> - <string name="remove">Pašalinti</string> - <string name="update">Atnaujinti</string> - <string name="no_preview_available">Peržiūra negalima</string> - <string name="alarm_label">Žadintuvas</string> - <string name="notification_label">Pranešimas</string> - <string name="ringtone_label">Melodija</string> - <string name="unknown_author">Autorius nežinomas</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s įdiegta</string> - <string name="theme_installed_notification_text">Tema sėkmingai įdiegta.</string> - <string name="menu_item_get_more_themes">Gauti daugiau</string> - <string name="get_more_description">Galite gauti daugiau temų iš šių nuorodų:</string> - <string-array name="get_more_entry_names"> - <item>„CyanogenMod“ temų vitrina</item> - <item>„Play“ parduotuvė</item> - <item>Daugiau informacijos CM vikipedijoje</item> - </string-array> -</resources> diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml deleted file mode 100644 index e2b4671..0000000 --- a/res/values-nb/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temaer</string> - <string name="lock_screen">Lås bakgrunnsbilder</string> - <string name="icons">Ikoner</string> - <string name="fonts">Skrifter</string> - <string name="wallpapers">Bakgrunnsbilder</string> - <string name="boot_anims">Oppstartsanimasjoner</string> - <string name="ringtones">Ringetoner</string> - <string name="notifications">Varslinger</string> - <string name="alarms">Alarmer</string> - <string name="style">Stil</string> - <string name="default_tag">(Standard)</string> - <string name="apply">Bruk</string> - <string name="applying">Aktiverer\u2026</string> - <string name="remove">Fjern</string> - <string name="update">Oppdater</string> - <string name="no_preview_available">Ingen forhåndsvisning tilgjengelig</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Varsling</string> - <string name="ringtone_label">Ringetone</string> - <string name="unknown_author">Ukjent forfatter</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s er installert</string> - <string name="theme_installed_notification_text">Tema installert.</string> - <string name="menu_item_get_more_themes">Få mer</string> - <string name="get_more_description">Du kan få flere temaer fra følgende linker:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod tema Showcase</item> - <item>Play Store</item> - <item>Mer informasjon er på CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml deleted file mode 100644 index 01540b9..0000000 --- a/res/values-nl/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Thema\'s</string> - <string name="lock_screen">Vergrendelingsscherm</string> - <string name="icons">Pictogrammen</string> - <string name="fonts">Lettertypen</string> - <string name="wallpapers">Achtergronden</string> - <string name="boot_anims">Opstartanimaties</string> - <string name="ringtones">Beltonen</string> - <string name="notifications">Meldingen</string> - <string name="alarms">Alarmen</string> - <string name="style">Stijl</string> - <string name="default_tag">(standaard)</string> - <string name="apply">Toepassen</string> - <string name="applying">Toepassen\u2026</string> - <string name="remove">Verwijderen</string> - <string name="update">Bijwerken</string> - <string name="no_preview_available">Geen voorbeeld beschikbaar</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Melding</string> - <string name="ringtone_label">Beltoon</string> - <string name="unknown_author">Auteur onbekend</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s geïnstalleerd</string> - <string name="theme_installed_notification_text">Thema installeren geslaagd.</string> - <string name="menu_item_get_more_themes">Meer thema\'s</string> - <string name="get_more_description">Via de volgende links kunt u meer thema\'s verkrijgen:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Thema Showcase</item> - <item>Play Store</item> - <item>Meer info op de CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml deleted file mode 100644 index 8557c04..0000000 --- a/res/values-pl/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Motywy</string> - <string name="lock_screen">Tapety ekranu blokady</string> - <string name="icons">Ikony</string> - <string name="fonts">Czcionki</string> - <string name="wallpapers">Tapety</string> - <string name="boot_anims">Animacje uruchamiania</string> - <string name="ringtones">Dzwonki</string> - <string name="notifications">Powiadomienia</string> - <string name="alarms">Alarmy</string> - <string name="style">Styl</string> - <string name="default_tag">(Domyślne)</string> - <string name="apply">Zastosuj</string> - <string name="applying">Ustawianie\u2026</string> - <string name="remove">Usuń</string> - <string name="update">Zaktualizuj</string> - <string name="no_preview_available">Podgląd niedostępny</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Powiadomienie</string> - <string name="ringtone_label">Dzwonek</string> - <string name="unknown_author">Autor nieznany</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s zainstalowany</string> - <string name="theme_installed_notification_text">Motyw został pomyślnie zainstalowany.</string> - <string name="menu_item_get_more_themes">Uzyskaj więcej</string> - <string name="get_more_description">Więcej motywów można znaleźć na stronach:</string> - <string-array name="get_more_entry_names"> - <item>Prezentacja motywów CyanogenMod</item> - <item>Sklep Play</item> - <item>Więcej informacji na stronie CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml deleted file mode 100644 index e9c4ea0..0000000 --- a/res/values-pt-rBR/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temas</string> - <string name="lock_screen">Papéis de parede da tela de bloqueio</string> - <string name="icons">Ícones</string> - <string name="fonts">Fontes</string> - <string name="wallpapers">Papéis de parede</string> - <string name="boot_anims">Animações de inicialização</string> - <string name="ringtones">Toques</string> - <string name="notifications">Notificações</string> - <string name="alarms">Alarmes</string> - <string name="style">Estilo</string> - <string name="default_tag">(Padrão)</string> - <string name="apply">Aplicar</string> - <string name="applying">Aplicando\u2026</string> - <string name="remove">Remover</string> - <string name="update">Atualizar</string> - <string name="no_preview_available">Sem previsualização</string> - <string name="alarm_label">Alarme</string> - <string name="notification_label">Notificação</string> - <string name="ringtone_label">Toque</string> - <string name="unknown_author">Autor desconhecido</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s instalado</string> - <string name="theme_installed_notification_text">Tema instalado com sucesso.</string> - <string name="menu_item_get_more_themes">Obter mais</string> - <string name="get_more_description">Você pode obter mais temas nos seguintes links:</string> - <string-array name="get_more_entry_names"> - <item>Vitrine de Temas CyanogenMod</item> - <item>Play Store</item> - <item>Mais informação no CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml deleted file mode 100644 index 364ec1c..0000000 --- a/res/values-pt-rPT/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temas</string> - <string name="lock_screen">Imagem do ecrã de bloqueio</string> - <string name="icons">Ícones</string> - <string name="fonts">Tipos de letra</string> - <string name="wallpapers">Imagens de fundo</string> - <string name="boot_anims">Animações de inicialização</string> - <string name="ringtones">Toques</string> - <string name="notifications">Notificações</string> - <string name="alarms">Alarmes</string> - <string name="style">Estilo</string> - <string name="default_tag">(Padrão)</string> - <string name="apply">Aplicar</string> - <string name="applying">A aplicar\u2026</string> - <string name="remove">Remover</string> - <string name="update">Atualizar</string> - <string name="no_preview_available">Sem pré-visualização disponível</string> - <string name="alarm_label">Alarme</string> - <string name="notification_label">Notificação</string> - <string name="ringtone_label">Toque</string> - <string name="unknown_author">Autor desconhecido</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s instalado</string> - <string name="theme_installed_notification_text">Tema instalado com êxito.</string> - <string name="menu_item_get_more_themes">Obter mais</string> - <string name="get_more_description">Pode obter mais temas nos seguintes links:</string> - <string-array name="get_more_entry_names"> - <item>Vitrina de temas CyanogenMod</item> - <item>Play Store</item> - <item>Mais informações na Wiki CM</item> - </string-array> -</resources> diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml deleted file mode 100644 index 78da5b2..0000000 --- a/res/values-ro/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Teme</string> - <string name="lock_screen">Imagini de fundal pentru ecranul de blocare</string> - <string name="icons">Pictograme</string> - <string name="fonts">Font-uri</string> - <string name="wallpapers">Imagini de fundal</string> - <string name="boot_anims">Animații de boot</string> - <string name="ringtones">Tonuri de apel</string> - <string name="notifications">Notificări</string> - <string name="alarms">Alarme</string> - <string name="style">Stil</string> - <string name="default_tag">(Implicit)</string> - <string name="apply">Aplicare</string> - <string name="applying">Aplicare\u2026</string> - <string name="remove">Ștergere</string> - <string name="update">Actualizare</string> - <string name="no_preview_available">Nicio previzualizare disponibilă</string> - <string name="alarm_label">Alarmă</string> - <string name="notification_label">Notificare</string> - <string name="ringtone_label">Ton de apel</string> - <string name="unknown_author">Autor necunoscut</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s instalată</string> - <string name="theme_installed_notification_text">Tema a fost instalată cu succes.</string> - <string name="menu_item_get_more_themes">Obțineți mai multe</string> - <string name="get_more_description">Puteți obține mai multe teme de la link-urile următoare:</string> - <string-array name="get_more_entry_names"> - <item>Galerie teme CyanogenMod</item> - <item>Play Store</item> - <item>Mai multe informații la Wiki CM</item> - </string-array> -</resources> diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml deleted file mode 100644 index b3d1835..0000000 --- a/res/values-ru/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Темы</string> - <string name="lock_screen">Обои экрана блокировки</string> - <string name="icons">Значки</string> - <string name="fonts">Шрифты</string> - <string name="wallpapers">Обои</string> - <string name="boot_anims">Анимация загрузки</string> - <string name="ringtones">Рингтоны</string> - <string name="notifications">Уведомления</string> - <string name="alarms">Будильники</string> - <string name="style">Стиль</string> - <string name="default_tag">(По умолчанию)</string> - <string name="apply">Применить</string> - <string name="applying">Применение\u2026</string> - <string name="remove">Удалить</string> - <string name="update">Обновить</string> - <string name="no_preview_available">Предпросмотр недоступен</string> - <string name="alarm_label">Будильник</string> - <string name="notification_label">Уведомление</string> - <string name="ringtone_label">Рингтон</string> - <string name="unknown_author">Автор не указан</string> - <string name="font_preview_letters">АаБбCcDd123</string> - <string name="theme_installed_notification_title">Тема «%s» установлена</string> - <string name="theme_installed_notification_text">Тема успешно установлена.</string> - <string name="menu_item_get_more_themes">Скачать ещё</string> - <string name="get_more_description">Вы можете скачать темы по следующим ссылкам:</string> - <string-array name="get_more_entry_names"> - <item>«Магазин тем» CyanogenMod</item> - <item>Play Маркет</item> - <item>Дополнительные сведения в Wiki CM</item> - </string-array> -</resources> diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml deleted file mode 100644 index 4b70bbe..0000000 --- a/res/values-si/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">තේමා</string> - <string name="lock_screen">අගුළු වෝල්පේපර</string> - <string name="icons">අයිකන</string> - <string name="fonts">ෆොන්ට</string> - <string name="wallpapers">වෝල්පේපර</string> - <string name="boot_anims">ඇරඹුම් සජීවීකරණ</string> - <string name="ringtones">රින්ග්ටෝන</string> - <string name="notifications">දැනුම්දීම්</string> - <string name="alarms">ඇඟවීම්</string> - <string name="style">විලාසය</string> - <string name="default_tag">(පෙරනිමි)</string> - <string name="apply">යොදන්න</string> - <string name="applying">යොදමින්\u2026</string> - <string name="remove">ඉවත් කරන්න</string> - <string name="update">අලුත් කරන්න</string> - <string name="no_preview_available">පූර්වදර්ශනයක් නොමැත</string> - <string name="alarm_label">ඇඟවීම</string> - <string name="notification_label">දැනුම්දීම</string> - <string name="ringtone_label">රින්ග්ටෝනය</string> - <string name="unknown_author">කතෘ නොදනී</string> - <string name="font_preview_letters">AaBbCcDd123අබක</string> - <string name="theme_installed_notification_title">%s ස්ථාපිතයි</string> - <string name="theme_installed_notification_text">තේමාව සාර්ථක ලෙස ස්ථාපිතයි.</string> - <string name="menu_item_get_more_themes">තව ලබාගන්න</string> - <string name="get_more_description">මතු සඳහන් සබැඳි වෙතින් ඔබට තවත් තේමා ලබාගතහැකිය:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod තේමා ප්රදර්ශන වැස්ම</item> - <item>කෙළි ගබඩාව</item> - <item>තවත් තොරතුරු CM විකියෙන්</item> - </string-array> -</resources> diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml deleted file mode 100644 index dba3221..0000000 --- a/res/values-sk/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Témy</string> - <string name="lock_screen">Tapety uzamykacej obrazovky</string> - <string name="icons">Ikony</string> - <string name="fonts">Písma</string> - <string name="wallpapers">Tapety</string> - <string name="boot_anims">Animácie spúšťania</string> - <string name="ringtones">Zvonenia</string> - <string name="notifications">Oznámenia</string> - <string name="alarms">Budíky</string> - <string name="style">Štýl</string> - <string name="default_tag">(Predvolená)</string> - <string name="apply">Použiť</string> - <string name="applying">Aplikuje sa\u2026</string> - <string name="remove">Odstrániť</string> - <string name="update">Aktualizovať</string> - <string name="no_preview_available">Ukážka nie je dostupná</string> - <string name="alarm_label">Budík</string> - <string name="notification_label">Oznámenie</string> - <string name="ringtone_label">Zvonenie</string> - <string name="unknown_author">Neznámy autor</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">Nainštalovaná téma %s</string> - <string name="theme_installed_notification_text">Téma bola úspešne nainštalovaná.</string> - <string name="menu_item_get_more_themes">Získať viac</string> - <string name="get_more_description">Viac tém môžete získať z nasledujúcich odkazov:</string> - <string-array name="get_more_entry_names"> - <item>Témy vzhľadu CyanogenModu</item> - <item>Obchod Play</item> - <item>Viac informácií na CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml deleted file mode 100644 index b29304a..0000000 --- a/res/values-sr/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Теме</string> - <string name="lock_screen">Позадине закључавања</string> - <string name="icons">Иконе</string> - <string name="fonts">Фонтови</string> - <string name="wallpapers">Позадине</string> - <string name="boot_anims">Покретачке анимације</string> - <string name="ringtones">Звона</string> - <string name="notifications">Обавештења</string> - <string name="alarms">Аларми</string> - <string name="style">Стил</string> - <string name="default_tag">(Подразумевано)</string> - <string name="apply">Примени</string> - <string name="applying">Примена\u2026</string> - <string name="remove">Уклони</string> - <string name="update">Ажурирај</string> - <string name="no_preview_available">Нема доступног прегледа</string> - <string name="alarm_label">Аларм</string> - <string name="notification_label">Обавештење</string> - <string name="ringtone_label">Тон звона</string> - <string name="unknown_author">Аутор непознат</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s инсталирано</string> - <string name="theme_installed_notification_text">Тема је успешно инсталирана.</string> - <string name="menu_item_get_more_themes">Набави још</string> - <string name="get_more_description">Можеш да набавиш још тема са следећих линкова:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod витрина тема</item> - <item>Play Продавница</item> - <item>Још информација на CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml deleted file mode 100644 index 081d310..0000000 --- a/res/values-sv/strings.xml +++ /dev/null @@ -1,42 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Teman</string> - <string name="lock_screen">Lås bakgrundsbilder</string> - <string name="icons">Ikoner</string> - <string name="fonts">Typsnitt</string> - <string name="wallpapers">Bakgrundsbilder</string> - <string name="boot_anims">Uppstartsanimationer</string> - <string name="ringtones">Ringsignaler</string> - <string name="notifications">Aviseringar</string> - <string name="alarms">Alarm</string> - <string name="style">Stil</string> - <string name="default_tag">(Standard)</string> - <string name="apply">Verkställ</string> - <string name="applying">Tillämpar\u2026</string> - <string name="remove">Ta bort</string> - <string name="update">Uppdatera</string> - <string name="no_preview_available">Ingen förhandsgranskning tillgänglig</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Avisering</string> - <string name="ringtone_label">Ringsignal</string> - <string name="unknown_author">Okänd upphovsman</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s installerad</string> - <string name="theme_installed_notification_text">Temat installerades.</string> -</resources> diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml deleted file mode 100644 index 234ff62..0000000 --- a/res/values-th/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">ชุดรูปแบบ</string> - <string name="lock_screen">ภาพพื้นหลังหน้าล็อคจอ</string> - <string name="icons">ไอคอน</string> - <string name="fonts">แบบอักษร</string> - <string name="wallpapers">ภาพพื้นหลัง</string> - <string name="boot_anims">ภาพเปิดเครื่อง</string> - <string name="ringtones">เสียงเรียกเข้า</string> - <string name="notifications">การแจ้งเตือน</string> - <string name="alarms">นาฬิกาปลุก</string> - <string name="style">ลักษณะ</string> - <string name="default_tag">(เริ่มต้น)</string> - <string name="apply">นำไปใช้</string> - <string name="applying">กำลังนำไปใช้\u2026</string> - <string name="remove">นำออก</string> - <string name="update">อัพเดต</string> - <string name="no_preview_available">ไม่มีภาพตัวอย่าง</string> - <string name="alarm_label">นาฬิกาปลุก</string> - <string name="notification_label">การแจ้งเตือน</string> - <string name="ringtone_label">เสียงเรียกเข้า</string> - <string name="unknown_author">ผู้สร้างที่ไม่รู้จัก</string> - <string name="font_preview_letters">AaBbCcกขค123</string> - <string name="theme_installed_notification_title">%s ติดตั้งแล้ว</string> - <string name="theme_installed_notification_text">ติดตั้งชุดรูปแบบสำเร็จ</string> - <string name="menu_item_get_more_themes">เพิ่มเติม</string> - <string name="get_more_description">คุณจะได้รับชุดรูปแบบเพิ่มเติมได้จากลิงค์ต่อไปนี้:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod แสดงชุดรูปแบบ</item> - <item>Play Store</item> - <item>ข้อมูลเพิ่มเติมที่ CM Wiki</item> - </string-array> -</resources> diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml deleted file mode 100644 index 4d780ee..0000000 --- a/res/values-tr/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Temalar</string> - <string name="lock_screen">Kilit ekranı duvar kağıtları</string> - <string name="icons">Simgeler</string> - <string name="fonts">Yazı tipleri</string> - <string name="wallpapers">Duvar kağıtları</string> - <string name="boot_anims">Açılış animasyonları</string> - <string name="ringtones">Zil sesleri</string> - <string name="notifications">Bildirimler</string> - <string name="alarms">Alarmlar</string> - <string name="style">Stil</string> - <string name="default_tag">(Varsayılan)</string> - <string name="apply">Uygula</string> - <string name="applying">Uygulanıyor\u2026</string> - <string name="remove">Kaldır</string> - <string name="update">Güncelle</string> - <string name="no_preview_available">Mevcut önizleme yok</string> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Bildirim</string> - <string name="ringtone_label">Zil sesi</string> - <string name="unknown_author">Sahibi bilinmiyor</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s yüklendi</string> - <string name="theme_installed_notification_text">Tema başarıyla yüklendi.</string> - <string name="menu_item_get_more_themes">Daha fazlasını edinin</string> - <string name="get_more_description">Aşağıdaki bağlantılardan daha fazla temaya ulaşabilirsiniz:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Tema Vitrini</item> - <item>Play Store</item> - <item>CM Wiki hakkında daha fazla bilgi</item> - </string-array> -</resources> diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml deleted file mode 100644 index 59960e3..0000000 --- a/res/values-uk/strings.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">Теми</string> - <string name="lock_screen">Шпалери екрану блокування</string> - <string name="icons">Iконки</string> - <string name="fonts">Шрифти</string> - <string name="wallpapers">Шпалери</string> - <string name="boot_anims">Анімації завантаження</string> - <string name="ringtones">Мелодії</string> - <string name="notifications">Сповіщення</string> - <string name="alarms">Будильники</string> - <string name="style">Стиль</string> - <string name="default_tag">(Типово)</string> - <string name="apply">Застосувати</string> - <string name="applying">Застосування\u2026</string> - <string name="remove">Вилучити</string> - <string name="update">Оновити</string> - <string name="alarm_label">Будильник</string> - <string name="notification_label">Сповіщення</string> - <string name="ringtone_label">Дзвінок</string> - <string name="unknown_author">Автор невідомий</string> - <string name="font_preview_letters">АаБбCcDd123</string> - <string name="theme_installed_notification_title">Тема «%s» встановлена</string> - <string name="theme_installed_notification_text">Тема успішно встановлена.</string> -</resources> diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml deleted file mode 100644 index f78a771..0000000 --- a/res/values-zh-rCN/strings.xml +++ /dev/null @@ -1,49 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">主题</string> - <string name="lock_screen">锁屏壁纸</string> - <string name="icons">图标</string> - <string name="fonts">字体</string> - <string name="wallpapers">壁纸</string> - <string name="boot_anims">开机动画</string> - <string name="ringtones">铃声</string> - <string name="notifications">通知</string> - <string name="alarms">闹钟</string> - <string name="style">样式</string> - <string name="default_tag">(默认)</string> - <string name="apply">应用</string> - <string name="applying">正在应用\u2026</string> - <string name="remove">移除</string> - <string name="update">更新</string> - <string name="no_preview_available">无可用预览</string> - <string name="alarm_label">闹钟</string> - <string name="notification_label">通知</string> - <string name="ringtone_label">铃声</string> - <string name="unknown_author">未知作者</string> - <string name="font_preview_letters">AaBbCcDd123</string> - <string name="theme_installed_notification_title">%s 已安装</string> - <string name="theme_installed_notification_text">主题已成功安装。</string> - <string name="menu_item_get_more_themes">获取更多主题</string> - <string name="get_more_description">你可以从下面的链接获取更多主题:</string> - <string-array name="get_more_entry_names"> - <item>CyanogenMod 主题展示</item> - <item>Play 商店</item> - <item>CM Wiki 上的更多信息</item> - </string-array> -</resources> diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml deleted file mode 100644 index 87e17ea..0000000 --- a/res/values-zh-rHK/strings.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">主題</string> - <string name="lock_screen">鎖定桌布</string> - <string name="icons">圖示</string> - <string name="fonts">字體</string> - <string name="wallpapers">桌布</string> - <string name="boot_anims">開機動畫</string> - <string name="ringtones">鈴聲</string> - <string name="notifications">通知</string> - <string name="alarms">鬧鐘</string> - <string name="style">風格</string> - <string name="default_tag">(預設值)</string> - <string name="apply">套用</string> - <string name="applying">正在套用\u2026</string> - <string name="remove">移除</string> - <string name="update">更新</string> - <string name="no_preview_available">無預覽提供</string> - <string name="alarm_label">鬧鐘</string> - <string name="notification_label">通知</string> - <string name="ringtone_label">鈴聲</string> - <string name="unknown_author">作者不詳</string> - <string name="font_preview_letters">繁體字AaBbCc123</string> - <string name="theme_installed_notification_title">%s 已安裝</string> - <string name="theme_installed_notification_text">主題已成功安裝。</string> - <string name="menu_item_get_more_themes">獲取更多</string> -</resources> diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml deleted file mode 100644 index 8a368e5..0000000 --- a/res/values-zh-rTW/strings.xml +++ /dev/null @@ -1,41 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!--Generated by crowdin.net--> -<!-- - Copyright (C) 2014 The CyanogenMod 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. ---> -<resources> - <string name="app_name">主題</string> - <string name="lock_screen">鎖定畫面桌布</string> - <string name="icons">圖示</string> - <string name="fonts">字體</string> - <string name="wallpapers">桌布</string> - <string name="boot_anims">開機動畫</string> - <string name="ringtones">鈴聲</string> - <string name="notifications">通知</string> - <string name="alarms">鬧鐘</string> - <string name="style">風格</string> - <string name="default_tag">(預設)</string> - <string name="apply">套用</string> - <string name="applying">套用中\u2026</string> - <string name="remove">移除</string> - <string name="update">更新</string> - <string name="alarm_label">鬧鐘</string> - <string name="notification_label">通知</string> - <string name="ringtone_label">鈴聲</string> - <string name="unknown_author">作者不明</string> - <string name="font_preview_letters">AaBbCcDd123中文字</string> - <string name="theme_installed_notification_title">%s 已安裝</string> - <string name="theme_installed_notification_text">主題已成功安裝。</string> -</resources> diff --git a/res/values/attrs.xml b/res/values/attrs.xml index 4a3c246..29045ec 100644 --- a/res/values/attrs.xml +++ b/res/values/attrs.xml @@ -16,27 +16,6 @@ --> <resources> - <!-- Attributes for Sliding Panel --> - <declare-styleable name="SlidingUpPanelLayout"> - <attr name="collapsedHeight" format="dimension" /> - <attr name="shadowHeight" format="dimension" /> - <attr name="fadeColor" format="color" /> - <attr name="flingVelocity" format="integer" /> - <attr name="dragView" format="reference" /> - <attr name="startExpanded" format="boolean" /> - <attr name="anchorPoint" format="float" /> - <attr name="parallaxDistance" format="dimension" /> - </declare-styleable> - - <!-- Attributes for Drawer List --> - <declare-styleable name="DrawerItem"> - <attr name="id" format="reference" /> - <attr name="title" format="string" /> - <attr name="icon" format="reference" /> - <attr name="fragmentName" format="string" /> - <attr name="component" format="string" /> - </declare-styleable> - <declare-styleable name="ComponentSelector"> <attr name="itemsPerPage" format="integer"/> </declare-styleable> diff --git a/res/values/colors.xml b/res/values/colors.xml index 0894d90..cb1e8d4 100644 --- a/res/values/colors.xml +++ b/res/values/colors.xml @@ -15,18 +15,6 @@ * limitations under the License. --> <resources> - <color name="detailedview_pager_background">#ffffff</color> - <color name="title_author_background">#ffffff</color> - <color name="offwhite">#e9e8e8</color> - <color name="author_grey">#808184</color> - - <color name="apply_button_text_color_enabled">#ffffff</color> - <color name="apply_button_text_color_disabled">#bbbbbb</color> - - <color name="apply_button_progress_color">#6bd1e9</color> - <color name="apply_button_default_color">#00b1e5</color> - <color name="apply_button_pressed_color">#008ef2</color> - <color name="font_preview_color">#ffffff</color> <color name="font_preview_shadow_color">#dd000000</color> diff --git a/res/values/dimens.xml b/res/values/dimens.xml index f57ef7e..1e2fbd7 100644 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -15,12 +15,6 @@ * limitations under the License. --> <resources> - <dimen name="app_icon_size">24dp</dimen> - <dimen name="button_bar_height">62dip</dimen> - <dimen name="sliding_up_panel_parallax_distance">150dp</dimen> - <dimen name="item_browse_height">260dp</dimen> - <dimen name="expanded_preview_margin">24dp</dimen> - <dimen name="navigation_button_width">80dp</dimen> <!-- Theme fragment width should account for the fact that there will be cards which expand --> <dimen name="theme_fragment_width">320dp</dimen> @@ -73,7 +67,10 @@ <dimen name="status_bar_component_icon_margin">2dp</dimen> <dimen name="icon_component_margin">4dp</dimen> + <dimen name="navigation_button_width">80dp</dimen> + <dimen name="content_offset_padding">10dp</dimen> <dimen name="apply_progress_padding">10dp</dimen> <dimen name="label_height">24dp</dimen> + </resources> diff --git a/res/values/strings.xml b/res/values/strings.xml index 3dc8f29..d3d0600 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -18,33 +18,6 @@ <string name="app_name">Themes</string> - <!-- Themable items --> - <string name="lock_screen">Lock wallpapers</string> - <string name="icons">Icons</string> - <string name="fonts">Fonts</string> - <string name="wallpapers">Wallpapers</string> - <string name="boot_anims">Boot animations</string> - <string name="ringtones">Ringtones</string> - <string name="notifications">Notifications</string> - <string name="alarms">Alarms</string> - <string name="style">Style</string> - - <string name="holo" translatable="false">Holo</string> - <string name="default_tag">(Default)</string> - - <string name="apply">Apply</string> - <string name="edit">Edit</string> - <string name="applying">Applying\u2026</string> - <string name="remove">Remove</string> - <string name="update">Update</string> - - <string name="no_preview_available">No preview available</string> - - <!-- Audibles preview --> - <string name="alarm_label">Alarm</string> - <string name="notification_label">Notification</string> - <string name="ringtone_label">Ringtone</string> - <string name="unknown_author">Author unknown</string> <string name="font_preview_letters">AaBbCcDd</string> @@ -52,36 +25,12 @@ <string name="theme_installed_notification_title">%s installed</string> <string name="theme_installed_notification_text">Theme successfully installed.</string> - <string name="menu_item_get_more_themes">Get more</string> - - <!-- Shown when the user clicks 'Get More' button from the themes list screen --> - <string name="get_more_description">You can get more themes from the following links:</string> - - <!-- Themes Showcase Entry Names. Change this array only if you change the Entry URL --> - <string-array name="get_more_entry_names"> - <item>CyanogenMod Themes Showcase</item> - <item>Play Store</item> - <item>More info on the CM Wiki</item> - </string-array> - - <!-- Themes Showcase Entry URLS. Change this array only if you also change the Entry Name --> - <string-array name="get_more_entry_urls" translatable="false"> - <item>https://play.google.com/store/apps/details?id=com.cyngn.theme.store</item> - <item>https://play.google.com/store/search?q=theme+engine&c=apps</item> - <item>http://wiki.cyanogenmod.org/w/Themes</item> - </string-array> - <string name="status_bar_clock_text" translatable="false">5:30</string> <string name="status_bar">Status bar</string> <string name="navigation_bar">Navigation bar</string> <string name="font_component_item_text">Aa</string> - <!-- Bottom bar items --> - <string name="btn_wallpaper_text">Wallpaper</string> - <string name="btn_customize_text">Customize</string> - <string name="btn_theme_store_text">Theme Store</string> - <string name="my_theme">My theme</string> <string name="save_and_apply_title">Save & apply</string> @@ -95,6 +44,9 @@ <string name="lockscreen_label">Lockscreen wallpaper</string> <string name="style_label">Controls</string> <string name="boot_animation_label">Boot animation</string> + <string name="alarm_label">Alarm</string> + <string name="notification_label">Notification</string> + <string name="ringtone_label">Ringtone</string> <string name="menu_author_info">Author</string> <string name="menu_delete">Delete</string> diff --git a/res/values/styles.xml b/res/values/styles.xml index 01b32c6..4d4a363 100644 --- a/res/values/styles.xml +++ b/res/values/styles.xml @@ -17,26 +17,12 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android"> <!-- Base application theme. --> - <style name="AppTheme" parent="android:style/Theme.Holo.Light.DarkActionBar"> - <item name="android:actionBarStyle">@style/ThemeChooserActionBar</item> - <item name="android:actionBarTabTextStyle">@style/ThemeChooserActionBarTabText</item> - <item name="android:actionMenuTextColor">#ffffff</item> - <item name="android:windowContentOverlay">@null</item> - <item name="android:windowActionBarOverlay">false</item> - </style> - - <style name="ThemeChooserActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> - <item name="android:displayOptions">useLogo|showHome|showTitle</item> - <item name="android:background">#BB000000</item> - <item name="android:titleTextStyle">@style/ThemeChooserActionBarTitleText</item> - <item name="android:logo">@drawable/ic_app_themes_bw</item> - </style> - - <style name="ThemeChooserV2Theme" parent="@android:style/Theme.NoTitleBar"> + <style name="ThemeChooserTheme" parent="@android:style/Theme.NoTitleBar"> <item name="android:windowTranslucentStatus">true</item> <item name="android:windowTranslucentNavigation">true</item> <item name="android:popupMenuStyle">@style/popupMenuStyle</item> - + <item name="android:windowContentOverlay">@null</item> + <item name="android:windowActionBarOverlay">false</item> </style> <!-- For the overflow popup window --> @@ -46,82 +32,6 @@ </item> </style> - <!-- ActionBar title text --> - <style name="ThemeChooserActionBarTitleText"> - <item name="android:textColor">#FFFFFF</item> - </style> - - <!-- ActionBar tabs text styles --> - <style name="ThemeChooserActionBarTabText"> - <item name="android:textColor">#FFFFFF</item> - </style> - - <style name="mixnmatch_menu_btn" parent="@android:style/Widget.Holo.Light.Button.Borderless.Small"> - <item name="android:layout_width">match_parent</item> - <item name="android:layout_height">103dp</item> - <item name="android:background">#d2d2c8</item> - <item name="android:padding">8dp</item> - </style> - - - <style name="mixnmatch_menu_btn_icon"> - <item name="android:layout_height">match_parent</item> - <item name="android:layout_width">20dp</item> - <item name="android:layout_marginRight">8dp</item> - <item name="android:layout_alignParentTop">true</item> - <item name="android:layout_alignParentBottom">true</item> - </style> - - - <style name="mixnmatch_menu_firstline"> - <item name="android:textSize">16sp</item> - <item name="android:textColor">#3e3e3e</item> - </style> - - <style name="mixnmatch_menu_secondline"> - <item name="android:textSize">14sp</item> - <item name="android:textColor">#656666</item> - </style> - - <style name="mixnmatch_menu_btn_left" parent="@style/mixnmatch_menu_btn"> - <item name="android:layout_marginRight">4dp</item> - </style> - - <style name="mixnmatch_menu_btn_right" parent="@style/mixnmatch_menu_btn"> - <item name="android:layout_marginRight">4dp</item> - </style> - - <style name="drawer_footer"> - <item name="android:background">#75e5bb</item> - <item name="android:textColor">#FFFFFF</item> - <item name="android:gravity">left</item> - <item name="android:textSize">24sp</item> - <item name="android:paddingLeft">10dp</item> - <item name="android:paddingTop">20dp</item> - <item name="android:paddingBottom">20dp</item> - </style> - - <style name="drawer_header"> - <item name="android:background">#19d38e</item> - <item name="android:textColor">#FFFFFF</item> - <item name="android:gravity">left</item> - <item name="android:textSize">30sp</item> - <item name="android:paddingLeft">10dp</item> - <item name="android:paddingTop">10dp</item> - <item name="android:paddingBottom">10dp</item> - </style> - - <style name="drawer_list_item"> - <item name="android:background">#19d38e</item> - <item name="android:gravity">left</item> - <item name="android:textSize">30sp</item> - <item name="android:paddingLeft">10dp</item> - </style> - - <style name="drawer_list_item_text"> - <item name="android:textColor">#FFFFFF</item> - </style> - <style name="TextAppearance.StatusBar.Clock" parent="@*android:style/TextAppearance.StatusBar.Icon"> <!-- Note: must be dp to fit in status bar --> <item name="android:textSize">16dp</item> @@ -135,14 +45,6 @@ <item name="android:scaleType">fitCenter</item> </style> - <style name="bottom_bar_item_text_style"> - <item name="android:textAllCaps">true</item> - <item name="android:textSize">16sp</item> - <item name="android:textColor">@android:color/white</item> - <item name="android:gravity">center_horizontal</item> - <item name="android:fontFamily">sans-serif-condensed</item> - </style> - <style name="component_title"> <item name="android:textColor">@android:color/white</item> <item name="android:gravity">center_horizontal</item> diff --git a/src/android/support/v4/view/ThemeViewPager.java b/src/android/support/v4/view/ThemeViewPager.java index 5702c71..e40b934 100644 --- a/src/android/support/v4/view/ThemeViewPager.java +++ b/src/android/support/v4/view/ThemeViewPager.java @@ -21,7 +21,7 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; -import org.cyanogenmod.theme.chooser.R; +import com.cyngn.theme.chooser.R; public class ThemeViewPager extends ViewPager { private boolean mExpanded; diff --git a/src/org/cyanogenmod/theme/chooser/AppReceiver.java b/src/com/cyngn/theme/chooser/AppReceiver.java index f31fdbe..ef39669 100644 --- a/src/org/cyanogenmod/theme/chooser/AppReceiver.java +++ b/src/com/cyngn/theme/chooser/AppReceiver.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.chooser; +package com.cyngn.theme.chooser; import android.content.BroadcastReceiver; import android.content.Context; @@ -21,7 +21,7 @@ import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager.NameNotFoundException; import android.net.Uri; -import org.cyanogenmod.theme.util.NotificationHelper; +import com.cyngn.theme.util.NotificationHelper; public class AppReceiver extends BroadcastReceiver { diff --git a/src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java b/src/com/cyngn/theme/chooser/ChooserActivity.java index 8f94739..13cdbcb 100644 --- a/src/org/cyanogenmod/theme/chooserv2/ChooserActivity.java +++ b/src/com/cyngn/theme/chooser/ChooserActivity.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.content.Context; import android.content.res.Resources; @@ -41,10 +41,8 @@ import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.Button; -import org.cyanogenmod.theme.chooser.R; -import org.cyanogenmod.theme.chooserv2.ComponentSelector.OnOpenCloseListener; -import org.cyanogenmod.theme.util.TypefaceHelperCache; -import org.cyanogenmod.theme.util.Utils; +import com.cyngn.theme.util.TypefaceHelperCache; +import com.cyngn.theme.util.Utils; import java.util.HashMap; import java.util.Map; @@ -69,7 +67,6 @@ public class ChooserActivity extends FragmentActivity private PagerContainer mContainer; private ThemeViewPager mPager; - private Button mEdit; private ThemesAdapter mAdapter; private ThemeManager mService; @@ -86,11 +83,10 @@ public class ChooserActivity extends FragmentActivity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.v2_activity_main); + setContentView(R.layout.activity_main); mContainer = (PagerContainer) findViewById(R.id.pager_container); mPager = (ThemeViewPager) findViewById(R.id.viewpager); - mEdit = (Button) findViewById(R.id.edit); mPager.setOnClickListener(mPagerClickListener); mAdapter = new ThemesAdapter(this); @@ -114,17 +110,6 @@ public class ChooserActivity extends FragmentActivity } }); - mEdit.setOnClickListener(new View.OnClickListener() { - public void onClick(View v) { - mExpanded = true; - mContainer.setClickable(false); - mContainer.expand(); - ThemeFragment f = getCurrentFragment(); - f.expand(); - setAnimatingStateAndScheduleFinish(); - } - }); - mSelector = (ComponentSelector) findViewById(R.id.component_selector); mSelector.setOnOpenCloseListener(mOpenCloseListener); @@ -337,7 +322,7 @@ public class ChooserActivity extends FragmentActivity } }; - private OnOpenCloseListener mOpenCloseListener = new OnOpenCloseListener() { + private ComponentSelector.OnOpenCloseListener mOpenCloseListener = new ComponentSelector.OnOpenCloseListener() { @Override public void onSelectorOpened() { } diff --git a/src/org/cyanogenmod/theme/chooserv2/ComponentCardView.java b/src/com/cyngn/theme/chooser/ComponentCardView.java index 5e24c95..555fc7a 100644 --- a/src/org/cyanogenmod/theme/chooserv2/ComponentCardView.java +++ b/src/com/cyngn/theme/chooser/ComponentCardView.java @@ -1,4 +1,4 @@ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.animation.Animator; import android.animation.AnimatorSet; @@ -16,8 +16,6 @@ import android.view.ViewOverlay; import android.widget.LinearLayout; import android.widget.TextView; -import org.cyanogenmod.theme.chooser.R; - public class ComponentCardView extends LinearLayout { public static final int CARD_FADE_DURATION = 300; diff --git a/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java b/src/com/cyngn/theme/chooser/ComponentSelector.java index 0985c9b..a4dab26 100644 --- a/src/org/cyanogenmod/theme/chooserv2/ComponentSelector.java +++ b/src/com/cyngn/theme/chooser/ComponentSelector.java @@ -13,14 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; import android.content.res.TypedArray; import android.database.Cursor; -import android.graphics.Rect; import android.graphics.Typeface; import android.graphics.drawable.BitmapDrawable; import android.media.MediaPlayer; @@ -51,13 +50,10 @@ import android.widget.TextView; import android.widget.Toast; import com.viewpagerindicator.PageIndicator; -import org.cyanogenmod.theme.chooser.R; -import org.cyanogenmod.theme.util.AudioUtils; -import org.cyanogenmod.theme.util.ThemedTypefaceHelper; -import org.cyanogenmod.theme.util.TypefaceHelperCache; -import org.cyanogenmod.theme.util.Utils; - -import java.util.HashMap; +import com.cyngn.theme.util.AudioUtils; +import com.cyngn.theme.util.ThemedTypefaceHelper; +import com.cyngn.theme.util.TypefaceHelperCache; +import com.cyngn.theme.util.Utils; import static android.provider.ThemesContract.ThemesColumns.MODIFIES_ALARMS; import static android.provider.ThemesContract.ThemesColumns.MODIFIES_BOOT_ANIM; diff --git a/src/org/cyanogenmod/theme/chooserv2/IconTransitionDrawable.java b/src/com/cyngn/theme/chooser/IconTransitionDrawable.java index c0138a1..a62fb07 100644 --- a/src/org/cyanogenmod/theme/chooserv2/IconTransitionDrawable.java +++ b/src/com/cyngn/theme/chooser/IconTransitionDrawable.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.graphics.Canvas; import android.graphics.drawable.Drawable; diff --git a/src/org/cyanogenmod/theme/chooser/NotificationHijackingService.java b/src/com/cyngn/theme/chooser/NotificationHijackingService.java index 41c3a46..910a2de 100644 --- a/src/org/cyanogenmod/theme/chooser/NotificationHijackingService.java +++ b/src/com/cyngn/theme/chooser/NotificationHijackingService.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.chooser; +package com.cyngn.theme.chooser; import android.app.PendingIntent; import android.content.ComponentName; diff --git a/src/org/cyanogenmod/theme/chooserv2/PagerContainer.java b/src/com/cyngn/theme/chooser/PagerContainer.java index a76b324..085ea68 100644 --- a/src/org/cyanogenmod/theme/chooserv2/PagerContainer.java +++ b/src/com/cyngn/theme/chooser/PagerContainer.java @@ -22,7 +22,7 @@ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.content.Context; import android.graphics.Point; diff --git a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java b/src/com/cyngn/theme/chooser/ThemeFragment.java index df9cb03..f6823ea 100644 --- a/src/org/cyanogenmod/theme/chooserv2/ThemeFragment.java +++ b/src/com/cyngn/theme/chooser/ThemeFragment.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.animation.Animator; import android.animation.AnimatorSet; @@ -75,20 +75,18 @@ import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.PopupMenu; import android.widget.ProgressBar; -import android.widget.RelativeLayout; import android.widget.ScrollView; import android.widget.TextView; import android.widget.Toast; -import org.cyanogenmod.theme.chooser.R; -import org.cyanogenmod.theme.chooserv2.ComponentSelector.OnItemClickedListener; -import org.cyanogenmod.theme.util.AudioUtils; -import org.cyanogenmod.theme.util.BootAnimationHelper; -import org.cyanogenmod.theme.util.IconPreviewHelper; -import org.cyanogenmod.theme.util.ThemedTypefaceHelper; -import org.cyanogenmod.theme.util.TypefaceHelperCache; -import org.cyanogenmod.theme.util.Utils; -import org.cyanogenmod.theme.widget.BootAniImageView; +import com.cyngn.theme.chooser.ComponentSelector.OnItemClickedListener; +import com.cyngn.theme.util.AudioUtils; +import com.cyngn.theme.util.BootAnimationHelper; +import com.cyngn.theme.util.IconPreviewHelper; +import com.cyngn.theme.util.ThemedTypefaceHelper; +import com.cyngn.theme.util.TypefaceHelperCache; +import com.cyngn.theme.util.Utils; +import com.cyngn.theme.widget.BootAniImageView; import java.io.File; import java.io.IOException; @@ -285,7 +283,7 @@ public class ThemeFragment extends Fragment implements LoaderManager.LoaderCallb @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.v2_fragment_pager_list, container, false); + View v = inflater.inflate(R.layout.fragment_pager_list, container, false); mScrollView = (ScrollView) v.findViewById(android.R.id.list); mScrollContent = (ViewGroup) mScrollView.getChildAt(0); diff --git a/src/org/cyanogenmod/theme/chooserv2/WallpaperCardView.java b/src/com/cyngn/theme/chooser/WallpaperCardView.java index 41c87f8..22d1a32 100644 --- a/src/org/cyanogenmod/theme/chooserv2/WallpaperCardView.java +++ b/src/com/cyngn/theme/chooser/WallpaperCardView.java @@ -1,4 +1,4 @@ -package org.cyanogenmod.theme.chooserv2; +package com.cyngn.theme.chooser; import android.animation.Animator; import android.animation.AnimatorSet; @@ -13,11 +13,8 @@ import android.view.View; import android.view.ViewOverlay; import android.widget.FrameLayout; import android.widget.ImageView; -import android.widget.LinearLayout; import android.widget.TextView; -import org.cyanogenmod.theme.chooser.R; - public class WallpaperCardView extends ComponentCardView { protected ImageView mImage; protected TextView mLabel; @@ -37,13 +34,13 @@ public class WallpaperCardView extends ComponentCardView { String labelText = a.getString(R.styleable.WallpaperCardView_labelText); a.recycle(); - setOrientation(LinearLayout.VERTICAL); + setOrientation(VERTICAL); setBackgroundResource(R.drawable.card_bg); LayoutInflater inflater = LayoutInflater.from(mContext); FrameLayout frameLayout = - (FrameLayout) inflater.inflate(R.layout.v2wallpaper_card, this, false); + (FrameLayout) inflater.inflate(R.layout.wallpaper_card, this, false); addView(frameLayout); mLabel = (TextView) frameLayout.findViewById(R.id.label); mImage = (ImageView) frameLayout.findViewById(R.id.image); diff --git a/src/org/cyanogenmod/theme/util/AudioUtils.java b/src/com/cyngn/theme/util/AudioUtils.java index bfbf674..d9621df 100644 --- a/src/org/cyanogenmod/theme/util/AudioUtils.java +++ b/src/com/cyngn/theme/util/AudioUtils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.content.Context; import android.content.pm.PackageInfo; diff --git a/src/org/cyanogenmod/theme/util/BootAnimationHelper.java b/src/com/cyngn/theme/util/BootAnimationHelper.java index 6d18ffb..23ced7c 100644 --- a/src/org/cyanogenmod/theme/util/BootAnimationHelper.java +++ b/src/com/cyngn/theme/util/BootAnimationHelper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.app.ActivityManager; import android.content.Context; diff --git a/src/org/cyanogenmod/theme/util/FontConfigParser.java b/src/com/cyngn/theme/util/FontConfigParser.java index 1f0b1b1..d88b4d4 100644 --- a/src/org/cyanogenmod/theme/util/FontConfigParser.java +++ b/src/com/cyngn/theme/util/FontConfigParser.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.util.Xml; diff --git a/src/org/cyanogenmod/theme/util/IconPreviewHelper.java b/src/com/cyngn/theme/util/IconPreviewHelper.java index ce85fd1..a391c36 100644 --- a/src/org/cyanogenmod/theme/util/IconPreviewHelper.java +++ b/src/com/cyngn/theme/util/IconPreviewHelper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.app.ActivityManager; import android.app.ComposedIconInfo; diff --git a/src/org/cyanogenmod/theme/util/NotificationHelper.java b/src/com/cyngn/theme/util/NotificationHelper.java index 9eaf261..bd022cd 100644 --- a/src/org/cyanogenmod/theme/util/NotificationHelper.java +++ b/src/com/cyngn/theme/util/NotificationHelper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.app.Notification; import android.app.NotificationManager; @@ -24,8 +24,9 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.graphics.BitmapFactory; import android.text.TextUtils; -import org.cyanogenmod.theme.chooser.ChooserActivity; -import org.cyanogenmod.theme.chooser.R; + +import com.cyngn.theme.chooser.ChooserActivity; +import com.cyngn.theme.chooser.R; public class NotificationHelper { public static void postThemeInstalledNotification(Context context, String pkgName) { diff --git a/src/org/cyanogenmod/theme/util/ThemedTypefaceHelper.java b/src/com/cyngn/theme/util/ThemedTypefaceHelper.java index 67d7b33..a46db90 100644 --- a/src/org/cyanogenmod/theme/util/ThemedTypefaceHelper.java +++ b/src/com/cyngn/theme/util/ThemedTypefaceHelper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.content.Context; import android.content.pm.ThemeUtils; @@ -21,7 +21,7 @@ import android.content.res.AssetManager; import android.graphics.Typeface; import android.util.Log; -import org.cyanogenmod.theme.util.FontConfigParser.Family; +import com.cyngn.theme.util.FontConfigParser.Family; import java.io.File; import java.io.FileInputStream; diff --git a/src/org/cyanogenmod/theme/util/TypefaceHelperCache.java b/src/com/cyngn/theme/util/TypefaceHelperCache.java index bba04f1..83661a6 100644 --- a/src/org/cyanogenmod/theme/util/TypefaceHelperCache.java +++ b/src/com/cyngn/theme/util/TypefaceHelperCache.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.content.Context; diff --git a/src/org/cyanogenmod/theme/util/Utils.java b/src/com/cyngn/theme/util/Utils.java index 747eb42..a6314bc 100644 --- a/src/org/cyanogenmod/theme/util/Utils.java +++ b/src/com/cyngn/theme/util/Utils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.util; import android.content.Context; import android.content.res.AssetManager; diff --git a/src/org/cyanogenmod/theme/widget/BootAniImageView.java b/src/com/cyngn/theme/widget/BootAniImageView.java index 16d2ddf..7c599fc 100644 --- a/src/org/cyanogenmod/theme/widget/BootAniImageView.java +++ b/src/com/cyngn/theme/widget/BootAniImageView.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.widget; +package com.cyngn.theme.widget; import android.content.Context; import android.graphics.Bitmap; @@ -23,7 +23,7 @@ import android.util.AttributeSet; import android.util.Log; import android.widget.ImageView; import libcore.io.IoUtils; -import org.cyanogenmod.theme.util.BootAnimationHelper; +import com.cyngn.theme.util.BootAnimationHelper; import java.io.IOException; import java.util.List; diff --git a/src/org/cyanogenmod/theme/util/ClickableViewPager.java b/src/com/cyngn/theme/widget/ClickableViewPager.java index 98364ea..9d76673 100644 --- a/src/org/cyanogenmod/theme/util/ClickableViewPager.java +++ b/src/com/cyngn/theme/widget/ClickableViewPager.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.widget; import android.content.Context; import android.support.v4.view.ViewPager; diff --git a/src/org/cyanogenmod/theme/util/FittedTextView.java b/src/com/cyngn/theme/widget/FittedTextView.java index cbfe5b9..efbe9be 100644 --- a/src/org/cyanogenmod/theme/util/FittedTextView.java +++ b/src/com/cyngn/theme/widget/FittedTextView.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.cyanogenmod.theme.util; +package com.cyngn.theme.widget; import android.content.Context; import android.graphics.Paint; diff --git a/src/com/viewpagerindicator/CirclePageIndicator.java b/src/com/viewpagerindicator/CirclePageIndicator.java index b4b439a..d176f9b 100644 --- a/src/com/viewpagerindicator/CirclePageIndicator.java +++ b/src/com/viewpagerindicator/CirclePageIndicator.java @@ -33,10 +33,11 @@ import android.view.MotionEvent; import android.view.View; import android.view.ViewConfiguration; +import com.cyngn.theme.chooser.R; + import static android.graphics.Paint.ANTI_ALIAS_FLAG; import static android.widget.LinearLayout.HORIZONTAL; import static android.widget.LinearLayout.VERTICAL; -import org.cyanogenmod.theme.chooser.R; /** * Draws circles (one for each view). The current view position is filled and diff --git a/src/org/cyanogenmod/theme/chooser/AudiblePreviewFragment.java b/src/org/cyanogenmod/theme/chooser/AudiblePreviewFragment.java deleted file mode 100644 index f7acad3..0000000 --- a/src/org/cyanogenmod/theme/chooser/AudiblePreviewFragment.java +++ /dev/null @@ -1,299 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import android.content.Context; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.ThemeUtils; -import android.content.res.AssetFileDescriptor; -import android.content.res.AssetManager; -import android.content.res.ThemeConfig; -import android.media.MediaPlayer; -import android.media.RingtoneManager; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.util.SparseArray; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import java.io.File; -import java.io.IOException; - - -public class AudiblePreviewFragment extends Fragment { - private static final String PKG_EXTRA = "pkg_extra"; - - private static final LinearLayout.LayoutParams ITEM_LAYOUT_PARAMS = - new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.WRAP_CONTENT); - - private String mPkgName; - private LinearLayout mContent; - private SparseArray<MediaPlayer> mMediaPlayers; - - static AudiblePreviewFragment newInstance(String pkgName) { - final AudiblePreviewFragment f = new AudiblePreviewFragment(); - final Bundle args = new Bundle(); - args.putString(PKG_EXTRA, pkgName); - f.setArguments(args); - return f; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mPkgName = getArguments().getString(PKG_EXTRA); - mMediaPlayers = new SparseArray<MediaPlayer>(3); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.audibles_preview, container, false); - mContent = (LinearLayout) v.findViewById(R.id.audibles_layout); - return v; - } - - @Override - public void onResume() { - super.onResume(); - loadAudibles(); - } - - @Override - public void onPause() { - super.onPause(); - freeMediaPlayers(); - } - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - if (!isVisibleToUser) { - stopMediaPlayers(); - } - } - - private void freeMediaPlayers() { - final int N = mMediaPlayers.size(); - for (int i = 0; i < N; i++) { - MediaPlayer mp = mMediaPlayers.get(mMediaPlayers.keyAt(i)); - if (mp != null) { - mp.stop(); - mp.release(); - } - } - mMediaPlayers.clear(); - } - - private View.OnClickListener mPlayPauseClickListener = new View.OnClickListener() { - @Override - public void onClick(View v) { - MediaPlayer mp = (MediaPlayer) v.getTag(); - if (mp != null) { - if (mp.isPlaying()) { - ((ImageView) v).setImageResource(android.R.drawable.ic_media_play); - mp.pause(); - mp.seekTo(0); - } else { - stopMediaPlayers(); - ((ImageView) v).setImageResource(android.R.drawable.ic_media_pause); - mp.start(); - } - } - } - }; - - private MediaPlayer.OnCompletionListener mPlayCompletionListener - = new MediaPlayer.OnCompletionListener() { - @Override - public void onCompletion(MediaPlayer mp) { - final int numChildern = mContent.getChildCount(); - for (int i = 0; i < numChildern; i++) { - ((ImageView) mContent.getChildAt(i).findViewById(R.id.btn_play_pause)) - .setImageResource(android.R.drawable.ic_media_play); - } - } - }; - - private void stopMediaPlayers() { - if (mContent == null) return; - final int numChildern = mContent.getChildCount(); - for (int i = 0; i < numChildern; i++) { - ImageView iv = (ImageView) mContent.getChildAt(i).findViewById(R.id.btn_play_pause); - if (iv != null) { - iv.setImageResource(android.R.drawable.ic_media_play); - MediaPlayer mp = (MediaPlayer) iv.getTag(); - if (mp != null && mp.isPlaying()) { - mp.pause(); - mp.seekTo(0); - } - } - } - } - - private void loadAudibles() { - mContent.removeAllViews(); - if (ThemeConfig.HOLO_DEFAULT.equals(mPkgName)) { - loadSystemAudible(RingtoneManager.TYPE_ALARM); - loadSystemAudible(RingtoneManager.TYPE_NOTIFICATION); - loadSystemAudible(RingtoneManager.TYPE_RINGTONE); - } else { - try { - final Context themeCtx = getActivity().createPackageContext(mPkgName, 0); - PackageInfo pi = getActivity().getPackageManager().getPackageInfo(mPkgName, 0); - loadThemeAudible(themeCtx, RingtoneManager.TYPE_ALARM, pi); - loadThemeAudible(themeCtx, RingtoneManager.TYPE_NOTIFICATION, pi); - loadThemeAudible(themeCtx, RingtoneManager.TYPE_RINGTONE, pi); - } catch (PackageManager.NameNotFoundException e) { - return; - } - } - } - - private void loadThemeAudible(Context themeCtx, int type, PackageInfo pi) { - if (pi.isLegacyThemeApk) { - loadLegacyThemeAudible(themeCtx, type, pi); - return; - } - AssetManager assetManager = themeCtx.getAssets(); - String assetPath; - switch (type) { - case RingtoneManager.TYPE_ALARM: - assetPath = "alarms"; - break; - case RingtoneManager.TYPE_NOTIFICATION: - assetPath = "notifications"; - break; - case RingtoneManager.TYPE_RINGTONE: - assetPath = "ringtones"; - break; - default: - assetPath = null; - break; - } - if (assetPath != null) { - try { - String[] assetList = assetManager.list(assetPath); - if (assetList != null && assetList.length > 0) { - AssetFileDescriptor afd = assetManager.openFd(assetPath - + File.separator + assetList[0]); - MediaPlayer mp = initAudibleMediaPlayer(afd, type); - if (mp != null) { - addAudibleToLayout(type, mp); - } - } - } catch (IOException e) { - mMediaPlayers.put(type, null); - } - } - } - - private void loadLegacyThemeAudible(Context themeCtx, int type, PackageInfo pi) { - if (pi.legacyThemeInfos == null || pi.legacyThemeInfos.length == 0) - return; - AssetManager assetManager = themeCtx.getAssets(); - String assetPath; - switch (type) { - case RingtoneManager.TYPE_NOTIFICATION: - assetPath = pi.legacyThemeInfos[0].notificationFileName; - break; - case RingtoneManager.TYPE_RINGTONE: - assetPath = pi.legacyThemeInfos[0].ringtoneFileName; - break; - default: - assetPath = null; - break; - } - if (assetPath != null) { - try { - AssetFileDescriptor afd = assetManager.openFd(assetPath); - MediaPlayer mp = initAudibleMediaPlayer(afd, type); - if (mp != null) { - addAudibleToLayout(type, mp); - } - } catch (IOException e) { - mMediaPlayers.put(type, null); - } - } - } - - private void loadSystemAudible(int type) { - final String audiblePath = ThemeUtils.getDefaultAudiblePath(type); - if (audiblePath != null && (new File(audiblePath)).exists()) { - try { - MediaPlayer mp = initAudibleMediaPlayer(audiblePath, type); - addAudibleToLayout(type, mp); - } catch (IOException e) { - mMediaPlayers.put(type, null); - } - } - } - - private MediaPlayer initAudibleMediaPlayer(String audiblePath, int type) throws IOException { - MediaPlayer mp = mMediaPlayers.get(type); - if (mp == null) { - mp = new MediaPlayer(); - mMediaPlayers.put(type, mp); - } else { - mp.reset(); - } - mp.setDataSource(audiblePath); - mp.prepare(); - mp.setOnCompletionListener(mPlayCompletionListener); - return mp; - } - - private MediaPlayer initAudibleMediaPlayer(AssetFileDescriptor afd, int type) throws IOException { - MediaPlayer mp = mMediaPlayers.get(type); - if (mp == null) { - mp = new MediaPlayer(); - mMediaPlayers.put(type, mp); - } else { - mp.reset(); - } - mp.setDataSource(afd.getFileDescriptor(), - afd.getStartOffset(), afd.getLength()); - mp.prepare(); - mp.setOnCompletionListener(mPlayCompletionListener); - return mp; - } - - private void addAudibleToLayout(int type, MediaPlayer mp) { - View view = View.inflate(getActivity(), R.layout.audible_preview_item, null); - TextView tv = (TextView) view.findViewById(R.id.audible_name); - switch (type) { - case RingtoneManager.TYPE_ALARM: - tv.setText(R.string.alarm_label); - break; - case RingtoneManager.TYPE_NOTIFICATION: - tv.setText(R.string.notification_label); - break; - case RingtoneManager.TYPE_RINGTONE: - tv.setText(R.string.ringtone_label); - break; - } - ImageView iv = (ImageView) view.findViewById(R.id.btn_play_pause); - iv.setTag(mp); - iv.setOnClickListener(mPlayPauseClickListener); - mContent.addView(view, ITEM_LAYOUT_PARAMS); - } -} diff --git a/src/org/cyanogenmod/theme/chooser/BootAniPreviewFragment.java b/src/org/cyanogenmod/theme/chooser/BootAniPreviewFragment.java deleted file mode 100644 index f3c04e4..0000000 --- a/src/org/cyanogenmod/theme/chooser/BootAniPreviewFragment.java +++ /dev/null @@ -1,191 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import android.content.Context; -import android.content.res.AssetManager; -import android.content.res.ThemeConfig; -import android.os.AsyncTask; -import android.os.Bundle; -import android.os.FileUtils; -import android.support.v4.app.Fragment; -import android.util.Log; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ProgressBar; -import android.widget.TextView; - -import org.cyanogenmod.theme.util.BootAnimationHelper; -import org.cyanogenmod.theme.widget.BootAniImageView; - -import java.io.File; -import java.io.IOException; -import java.io.InputStream; -import java.util.zip.ZipFile; - -public class BootAniPreviewFragment extends Fragment { - private static final String TAG = "ThemeChooser"; - private static final String PKG_EXTRA = "pkg_extra"; - private static final String CACHED_SUFFIX = "_bootanimation.zip"; - - private String mPkgName; - private BootAniImageView mPreview; - private ProgressBar mLoadingProgress; - private TextView mNoPreviewTextView; - private boolean mPreviewLoaded = false; - private boolean mIsVisibileToUser = false; - private boolean mAnimationStarted = false; - - public static BootAniPreviewFragment newInstance(String pkgName) { - BootAniPreviewFragment fragment = new BootAniPreviewFragment(); - Bundle args = new Bundle(); - args.putString(PKG_EXTRA, pkgName); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mPkgName = getArguments().getString(PKG_EXTRA); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_boot_animation_preview, container, false); - mPreview = (BootAniImageView) view.findViewById(R.id.animated_preview); - mLoadingProgress = (ProgressBar) view.findViewById(R.id.loading_progress); - mNoPreviewTextView = (TextView) view.findViewById(R.id.no_preview); - return view; - } - - @Override - public void onPause() { - super.onPause(); - mPreviewLoaded = false; - } - - @Override - public void onResume() { - super.onResume(); - new AnimationLoader(getActivity(), mPkgName).execute(); - } - - @Override - public void setUserVisibleHint(boolean isVisibleToUser) { - super.setUserVisibleHint(isVisibleToUser); - mIsVisibileToUser = isVisibleToUser; - if (isVisibleToUser) { - if (mPreviewLoaded && !mAnimationStarted) { - startAnimation(); - } - } - } - - private void startAnimation() { - if (mIsVisibileToUser) { - mPreview.start(); - mAnimationStarted = true; - } - } - - class AnimationLoader extends AsyncTask<Void, Void, Boolean> { - Context mContext; - String mPkgName; - - public AnimationLoader(Context context, String pkgName) { - mContext = context; - mPkgName = pkgName; - } - - @Override - protected void onPreExecute() { - super.onPreExecute(); - mPreview.setImageDrawable(null); - mLoadingProgress.setVisibility(View.VISIBLE); - mNoPreviewTextView.setVisibility(View.INVISIBLE); - } - - @Override - protected Boolean doInBackground(Void... params) { - if (mContext == null) { - return Boolean.FALSE; - } - ZipFile zip = null; - if (ThemeConfig.HOLO_DEFAULT.equals(mPkgName)) { - try { - zip = new ZipFile(new File(BootAnimationHelper.SYSTEM_BOOT_ANI_PATH)); - } catch (Exception e) { - Log.w(TAG, "Unable to load boot animation", e); - return Boolean.FALSE; - } - } else { - // check if the bootanimation is cached - File f = new File(mContext.getCacheDir(), mPkgName + CACHED_SUFFIX); - if (!f.exists()) { - // go easy on cache storage and clear out any previous boot animations - clearBootAnimationCache(); - try { - Context themeContext = mContext.createPackageContext(mPkgName, 0); - AssetManager am = themeContext.getAssets(); - InputStream is = am.open("bootanimation/bootanimation.zip"); - FileUtils.copyToFile(is, f); - is.close(); - } catch (Exception e) { - Log.w(TAG, "Unable to load boot animation", e); - return Boolean.FALSE; - } - } - try { - zip = new ZipFile(f); - } catch (IOException e) { - Log.w(TAG, "Unable to load boot animation", e); - return Boolean.FALSE; - } - } - if (zip != null) { - mPreview.setBootAnimation(zip); - } else { - return Boolean.FALSE; - } - return Boolean.TRUE; - } - - @Override - protected void onPostExecute(Boolean isSuccess) { - super.onPostExecute(isSuccess); - mLoadingProgress.setVisibility(View.INVISIBLE); - if (Boolean.TRUE.equals(isSuccess)) { - mPreviewLoaded = true; - startAnimation(); - } else { - mNoPreviewTextView.setVisibility(View.VISIBLE); - Log.e(TAG, "Unable to load boot animation for preview."); - } - } - } - - private void clearBootAnimationCache() { - File cache = getActivity().getCacheDir(); - if (cache.exists()) { - for(File f : cache.listFiles()) { - // volley stores stuff in cache so don't delete the volley directory - if(!f.isDirectory() && f.getName().endsWith(CACHED_SUFFIX)) f.delete(); - } - } - } -}
\ No newline at end of file diff --git a/src/org/cyanogenmod/theme/chooser/ChooserActivity.java b/src/org/cyanogenmod/theme/chooser/ChooserActivity.java deleted file mode 100644 index 115ea9e..0000000 --- a/src/org/cyanogenmod/theme/chooser/ChooserActivity.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import java.util.ArrayList; -import java.util.Arrays; - -import android.app.ActionBar; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentActivity; -import android.view.MenuItem; - -public class ChooserActivity extends FragmentActivity { - public static final String TAG = ChooserActivity.class.getName(); - public static final String EXTRA_COMPONENT_FILTER = "component_filter"; - public static final String EXTRA_PKGNAME = "pkgName"; - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - NotificationHijackingService.ensureEnabled(this); - - ActionBar mActionBar = getActionBar(); - if (mActionBar != null) { - mActionBar.setDisplayHomeAsUpEnabled(true); - } - - if (savedInstanceState == null) { - handleIntent(getIntent()); - } - } - - @Override - protected void onNewIntent(Intent intent) { - super.onNewIntent(intent); - handleIntent(intent); - } - - private void handleIntent(final Intent intent) { - //Determine if there we need to filter by component (ex icon sets only) - Bundle extras = intent.getExtras(); - String filter = (extras == null) ? null : extras.getString(EXTRA_COMPONENT_FILTER); - - // If activity started by wallpaper chooser then filter on wallpapers - if (Intent.ACTION_SET_WALLPAPER.equals(intent.getAction())) { - filter = "mods_homescreen"; - } - - // Support filters passed in as csv. Since XML prefs do not support - // passing extras in as arrays. - ArrayList<String> filtersList = new ArrayList<String>(); - if (filter != null) { - String[] filters = filter.split(","); - filtersList.addAll(Arrays.asList(filters)); - } - - Fragment fragment = null; - if (Intent.ACTION_MAIN.equals(intent.getAction()) && intent.hasExtra(EXTRA_PKGNAME)) { - String pkgName = intent.getStringExtra(EXTRA_PKGNAME); - fragment = ChooserDetailFragment.newInstance(pkgName, filtersList); - // Handle case where Theme Store or some other app wishes to open - // a detailed theme view for a given package - try { - final PackageManager pm = getPackageManager(); - if (pm.getPackageInfo(pkgName, 0) == null) { - fragment = ChooserBrowseFragment.newInstance(filtersList); - } - } catch (PackageManager.NameNotFoundException e) { - fragment = ChooserBrowseFragment.newInstance(filtersList); - } - } else { - fragment = ChooserBrowseFragment.newInstance(filtersList); - } - getSupportFragmentManager().beginTransaction().replace(R.id.content, fragment, - "ChooserBrowseFragment").commit(); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - if (item.getItemId() == android.R.id.home) { - finish(); - return true; - } - return false; - } -} diff --git a/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java b/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java deleted file mode 100644 index 4178e54..0000000 --- a/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java +++ /dev/null @@ -1,585 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import android.app.AlertDialog; -import android.app.Dialog; -import android.content.ActivityNotFoundException; -import android.graphics.Color; -import android.view.Gravity; -import android.content.ComponentName; -import android.content.Context; -import android.content.Intent; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.content.res.AssetManager; -import android.content.res.ThemeConfig; -import android.content.res.Resources; -import android.database.Cursor; -import android.graphics.Bitmap; -import android.graphics.Point; -import android.graphics.Typeface; -import android.graphics.drawable.Drawable; -import android.os.AsyncTask; -import android.os.Bundle; -import android.provider.Browser; -import android.provider.ThemesContract.ThemesColumns; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentTransaction; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.CursorLoader; -import android.support.v4.content.Loader; -import android.support.v4.widget.CursorAdapter; -import android.util.Log; -import android.util.TypedValue; -import android.view.Display; -import android.view.LayoutInflater; -import android.view.Menu; -import android.view.MenuInflater; -import android.view.MenuItem; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; -import android.webkit.URLUtil; -import android.webkit.WebView; -import android.webkit.WebViewClient; -import android.widget.AdapterView; -import android.widget.AdapterView.OnItemClickListener; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ListView; -import android.widget.ProgressBar; -import android.widget.TextView; - -import org.cyanogenmod.theme.chooser.WallpaperAndIconPreviewFragment.IconInfo; -import org.cyanogenmod.theme.util.BootAnimationHelper; -import org.cyanogenmod.theme.util.IconPreviewHelper; -import org.cyanogenmod.theme.util.ThemedTypefaceHelper; -import org.cyanogenmod.theme.util.Utils; - -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -public class ChooserBrowseFragment extends Fragment - implements LoaderManager.LoaderCallbacks<Cursor> { - public static final String TAG = ChooserBrowseFragment.class.getCanonicalName(); - public static final String DEFAULT = ThemeConfig.HOLO_DEFAULT; - - private static final String THEME_STORE_PACKAGE_NAME = "com.cyngn.theme.store"; - private static final String GET_THEMES_URL = - "http://wiki.cyanogenmod.org/w/Get_Themes?action=render"; - private static final String THEME_STORE_ACTIVITY = "com.cyngn.theme.store.StoreActivity"; - - public ListView mListView; - public LocalPagerAdapter mAdapter; - public ArrayList<String> mComponentFilters; - - private Point mMaxImageSize = new Point(); //Size of preview image in listview - - public static ChooserBrowseFragment newInstance(ArrayList<String> componentFilters) { - ChooserBrowseFragment fragment = new ChooserBrowseFragment(); - Bundle args = new Bundle(); - args.putStringArrayList(ChooserActivity.EXTRA_COMPONENT_FILTER, componentFilters); - fragment.setArguments(args); - return fragment; - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View v = inflater.inflate(R.layout.fragment_chooser_browse, container, false); - ArrayList<String> filters = getArguments().getStringArrayList(ChooserActivity.EXTRA_COMPONENT_FILTER); - mComponentFilters = (filters != null) ? filters : new ArrayList<String>(0); - mListView = (ListView) v.findViewById(R.id.list); - mAdapter = new LocalPagerAdapter(getActivity(), null, mComponentFilters); - mListView.setAdapter(mAdapter); - mListView.setOnItemClickListener(new OnItemClickListener() { - @Override - public void onItemClick(AdapterView<?> parent, View view, int position, long id) { - String pkgName = (String) mAdapter.getItem(position); - ChooserDetailFragment fragment = ChooserDetailFragment.newInstance(pkgName, mComponentFilters); - FragmentTransaction transaction = getFragmentManager().beginTransaction(); - transaction.replace(R.id.content, fragment, ChooserDetailFragment.class.toString()); - transaction.addToBackStack(null); - transaction.commit(); - } - }); - getLoaderManager().initLoader(0, null, this); - - Display display = getActivity().getWindowManager().getDefaultDisplay(); - display.getSize(mMaxImageSize); - mMaxImageSize.y = (int) getActivity().getResources().getDimension(R.dimen.item_browse_height); - - return v; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setHasOptionsMenu(true); - } - - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - inflater.inflate(R.menu.chooser_menu, menu); - } - - @Override - public boolean onOptionsItemSelected(MenuItem item) { - switch(item.getItemId()) { - case R.id.get_more_themes: - if (isThemeStoreInstalled()) { - try { - launchThemeStore(); - } catch (ActivityNotFoundException e) { - launchGetThemesWebView(); - } - } else { - launchGetThemesWebView(); - } - return true; - } - - return false; - } - - private boolean isThemeStoreInstalled() { - PackageManager pm = getActivity().getPackageManager(); - try { - pm.getPackageInfo(THEME_STORE_PACKAGE_NAME, PackageManager.GET_ACTIVITIES); - return true; - } catch (NameNotFoundException e) { - return false; - } - } - - private void launchThemeStore() { - Intent intent = new Intent(); - intent.setComponent(new ComponentName(THEME_STORE_PACKAGE_NAME, - THEME_STORE_ACTIVITY)); - getActivity().startActivity(intent); - } - - private void launchGetThemesWebView() { - Context context = getActivity(); - if (context == null) return; - - final WebView webView = new WebView(context); - String html = createGetThemesHtml(context); - webView.loadData(html.toString(), "text/html", null); - - // Setup the dialog - AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); - alert.setView(webView); - Dialog dialog = alert.create(); - dialog.show(); - } - - private String createGetThemesHtml(Context context) { - // Setup the webview with progress bar - StringBuffer sb = new StringBuffer(); - sb.append("<html><body>"); - sb.append(getActivity().getString(R.string.get_more_description)); - sb.append("<ul>"); - - String[] entryNames = context.getResources().getStringArray(R.array.get_more_entry_names); - String[] entryUrls = context.getResources().getStringArray(R.array.get_more_entry_urls); - for(int i=0; i < entryNames.length; i++) { - String name = entryNames[i]; - String url = entryUrls[i]; - appendLink(sb, name, url); - } - - sb.append("</ul>"); - sb.append("</body></html>"); - return sb.toString(); - } - - private void appendLink(StringBuffer sb, String name, String url) { - Context context = getActivity(); - sb.append("<li>"); - sb.append("<a href=\""); - sb.append(url); - sb.append("\">"); - sb.append(name); - sb.append("</a>"); - sb.append("</li>"); - } - - @Override - public void onLoadFinished(Loader<Cursor> loader, Cursor data) { - // Swap the new cursor in. (The framework will take care of closing the - // old cursor once we return.) - mAdapter.swapCursor(data); - mAdapter.notifyDataSetChanged(); - } - - @Override - public void onLoaderReset(Loader<Cursor> loader) { - mAdapter.swapCursor(null); - mAdapter.notifyDataSetChanged(); - } - - @Override - public Loader<Cursor> onCreateLoader(int id, Bundle args) { - String selection; - String selectionArgs[] = null; - if (mComponentFilters.isEmpty()) { - selection = ThemesColumns.PRESENT_AS_THEME + "=?"; - selectionArgs = new String[] {"1"}; - } else { - StringBuffer sb = new StringBuffer(); - for(int i=0; i < mComponentFilters.size(); i++) { - sb.append(mComponentFilters.get(i)); - sb.append("=1"); - if (i != mComponentFilters.size()-1) { - sb.append(" OR "); - } - } - selection = sb.toString(); - } - - // sort in ascending order but make sure the "default" theme is always first - String sortOrder = "(" + ThemesColumns.IS_DEFAULT_THEME + "=1) DESC, " - + ThemesColumns.TITLE + " ASC"; - - return new CursorLoader(getActivity(), ThemesColumns.CONTENT_URI, null, selection, - selectionArgs, sortOrder); - } - - public class LocalPagerAdapter extends CursorAdapter { - List<String> mFilters; - Context mContext; - HashMap<String, ThemedTypefaceHelper> mTypefaceHelpers = - new HashMap<String, ThemedTypefaceHelper>(); - - public LocalPagerAdapter(Context context, Cursor c, List<String> filters) { - super(context, c, 0); - mFilters = filters; - mContext = context; - } - - @Override - public Object getItem(int position) { - mCursor.moveToPosition(position); - int pkgIdx = mCursor.getColumnIndex(ThemesColumns.PKG_NAME); - String pkgName = (String) mCursor.getString(pkgIdx); - return pkgName; - } - - @Override - public void bindView(View view, Context context, Cursor cursor) { - int titleIdx = mCursor.getColumnIndex(ThemesColumns.TITLE); - int authorIdx = mCursor.getColumnIndex(ThemesColumns.AUTHOR); - int hsIdx = mCursor.getColumnIndex(ThemesColumns.HOMESCREEN_URI); - int wpIdx = mCursor.getColumnIndex(ThemesColumns.WALLPAPER_URI); - int styleIdx = mCursor.getColumnIndex(ThemesColumns.STYLE_URI); - int pkgIdx = mCursor.getColumnIndex(ThemesColumns.PKG_NAME); - int legacyIndex = mCursor.getColumnIndex(ThemesColumns.IS_LEGACY_THEME); - int defaultIndex = mCursor.getColumnIndex(ThemesColumns.IS_DEFAULT_THEME); - - String pkgName = mCursor.getString(pkgIdx); - String title = DEFAULT.equals(pkgName) ? mContext.getString(R.string.holo) - : mCursor.getString(titleIdx); - String author = mCursor.getString(authorIdx); - String hsImagePath = DEFAULT.equals(pkgName) ? mCursor.getString(hsIdx) : - mCursor.getString(wpIdx); - String styleImagePath = mCursor.getString(styleIdx); - boolean isLegacyTheme = mCursor.getInt(legacyIndex) == 1; - boolean isDefaultTheme = mCursor.getInt(defaultIndex) == 1; - - ThemeItemHolder item = (ThemeItemHolder) view.getTag(); - item.title.setText(title + (isDefaultTheme ? " " - + getString(R.string.default_tag) : "")); - item.author.setText(author); - if (mFilters.isEmpty()) { - bindDefaultView(item, pkgName, hsImagePath, isLegacyTheme); - } else if (mFilters.contains(ThemesColumns.MODIFIES_BOOT_ANIM)) { - bindBootAnimView(item, context, pkgName); - } else if (mFilters.contains(ThemesColumns.MODIFIES_LAUNCHER)) { - bindWallpaperView(item, pkgName, hsImagePath, isLegacyTheme); - } else if (mFilters.contains(ThemesColumns.MODIFIES_FONTS)) { - bindFontView(view, context, pkgName); - } else if (mFilters.contains(ThemesColumns.MODIFIES_OVERLAYS)) { - bindOverlayView(item, pkgName, styleImagePath, isLegacyTheme); - } else if (mFilters.contains(ThemesColumns.MODIFIES_ICONS)) { - bindDefaultView(item, pkgName, hsImagePath, isLegacyTheme); - bindIconView(view, context, pkgName); - } else { - bindDefaultView(item, pkgName, hsImagePath, isLegacyTheme); - } - } - - private void bindDefaultView(ThemeItemHolder item, String pkgName, - String hsImagePath, boolean isLegacyTheme) { - //Do not load wallpaper if we preview icons - if (mFilters.contains(ThemesColumns.MODIFIES_ICONS)) return; - - if (isLegacyTheme) { - item.thumbnail.setTag(pkgName); - } else { - item.thumbnail.setTag(hsImagePath); - } - item.thumbnail.setImageDrawable(null); - - if (item.thumbnail.getTag() != null) { - LoadImage loadImageTask = new LoadImage(item.thumbnail, isLegacyTheme, false, pkgName); - loadImageTask.execute(); - } - } - - private void bindOverlayView(ThemeItemHolder item, String pkgName, - String styleImgPath, boolean isLegacyTheme) { - if (isLegacyTheme) { - item.thumbnail.setTag(pkgName); - } else { - item.thumbnail.setTag(styleImgPath); - } - item.thumbnail.setImageDrawable(null); - - if (item.thumbnail.getTag() != null) { - LoadImage loadImageTask = new LoadImage(item.thumbnail, isLegacyTheme, false, pkgName); - loadImageTask.execute(); - } - } - - private void bindBootAnimView(ThemeItemHolder item, Context context, String pkgName) { - (new BootAnimationHelper.LoadBootAnimationImage(item.thumbnail, context, pkgName)).execute(); - } - - private void bindWallpaperView(ThemeItemHolder item, String pkgName, - String hsImagePath, boolean isLegacyTheme) { - if (isLegacyTheme) { - item.thumbnail.setTag(pkgName); - } else { - item.thumbnail.setTag(hsImagePath); - } - item.thumbnail.setImageDrawable(null); - - if (item.thumbnail.getTag() != null) { - LoadImage loadImageTask = new LoadImage(item.thumbnail, isLegacyTheme, true, pkgName); - loadImageTask.execute(); - } - } - - public void bindFontView(View view, Context context, String pkgName) { - FontItemHolder item = (FontItemHolder) view.getTag(); - ThemedTypefaceHelper helper; - if (!mTypefaceHelpers.containsKey(pkgName)) { - helper = new ThemedTypefaceHelper(); - helper.load(mContext, pkgName); - mTypefaceHelpers.put(pkgName, helper); - } else { - helper = mTypefaceHelpers.get(pkgName); - } - Typeface typefaceNormal = helper.getTypeface(Typeface.NORMAL); - Typeface typefaceBold = helper.getTypeface(Typeface.BOLD); - item.textView.setTypeface(typefaceNormal); - item.textViewBold.setTypeface(typefaceBold); - } - - public void bindIconView(View view, Context context, String pkgName) { - ThemeItemHolder holder = (ThemeItemHolder) view.getTag(); - LoadIconsTask loadImageTask = new LoadIconsTask(context, pkgName, holder.mIconHolders); - loadImageTask.execute(); - } - - @Override - public View newView(Context context, Cursor cursor, ViewGroup parent) { - if (mComponentFilters.isEmpty()) { - return newDefaultView(context, cursor, parent); - } else if (mComponentFilters.contains(ThemesColumns.MODIFIES_FONTS)) { - return newFontView(context, cursor, parent); - } else if (mComponentFilters.contains(ThemesColumns.MODIFIES_ICONS)) { - return newDefaultView(context, cursor, parent); - } - return newDefaultView(context, cursor, parent); - } - - private View newDefaultView(Context context, Cursor cursor, ViewGroup parent) { - LayoutInflater inflater = LayoutInflater.from(mContext); - View row = inflater.inflate(R.layout.item_store_browse, parent, false); - ThemeItemHolder item = new ThemeItemHolder(); - item.thumbnail = (ImageView) row.findViewById(R.id.image); - item.title = (TextView) row.findViewById(R.id.title); - item.author = (TextView) row.findViewById(R.id.author); - item.mIconHolders = (ViewGroup) row.findViewById(R.id.icon_container); - row.setTag(item); - return row; - } - - private View newFontView(Context context, Cursor cursor, ViewGroup parent) { - LayoutInflater inflater = LayoutInflater.from(mContext); - View row = inflater.inflate(R.layout.item_chooser_browse_font, parent, false); - FontItemHolder item = new FontItemHolder(); - item.textView = (TextView) row.findViewById(R.id.text1); - item.textViewBold = (TextView) row.findViewById(R.id.text2); - item.title = (TextView) row.findViewById(R.id.title); - item.author = (TextView) row.findViewById(R.id.author); - row.setTag(item); - return row; - } - } - - public static class ThemeItemHolder { - ImageView thumbnail; - TextView title; - TextView author; - ViewGroup mIconHolders; - } - - public static class FontItemHolder extends ThemeItemHolder { - TextView textView; - TextView textViewBold; - } - - public class LoadImage extends AsyncTask<Object, Void, Bitmap> { - private ImageView imv; - private String path; - private boolean isLegacyTheme; - private boolean showWallpaper; - private String pkgName; - - public LoadImage(ImageView imv, boolean isLegacyTheme, boolean showWallpaper, String pkgName) { - this.imv = imv; - this.path = imv.getTag().toString(); - this.isLegacyTheme = isLegacyTheme; - this.showWallpaper = showWallpaper; - this.pkgName = pkgName; - } - - @Override - protected Bitmap doInBackground(Object... params) { - Bitmap bitmap = null; - Context context = getActivity(); - if (context == null) { - Log.d(TAG, "Activity was detached, skipping loadImage"); - return null; - } - - if (!isLegacyTheme) { - if (DEFAULT.equals(pkgName)) { - Resources res = context.getResources(); - AssetManager assets = new AssetManager(); - assets.addAssetPath(WallpaperAndIconPreviewFragment.FRAMEWORK_RES); - Resources frameworkRes = new Resources(assets, res.getDisplayMetrics(), - res.getConfiguration()); - bitmap = Utils.decodeResource(frameworkRes, - com.android.internal.R.drawable.default_wallpaper, - mMaxImageSize.x, mMaxImageSize.y); - } else { - if (URLUtil.isAssetUrl(path)) { - Context ctx = context; - try { - ctx = context.createPackageContext(pkgName, 0); - } catch (PackageManager.NameNotFoundException e) { - - } - bitmap = Utils.getBitmapFromAsset(ctx, path, mMaxImageSize.x, mMaxImageSize.y); - } else if (path != null) { - bitmap = Utils.decodeFile(path, mMaxImageSize.x, mMaxImageSize.y); - } - } - } else { - try { - PackageManager pm = context.getPackageManager(); - PackageInfo pi = pm.getPackageInfo(path, 0); - final Context themeContext = context.createPackageContext(path, - Context.CONTEXT_IGNORE_SECURITY); - final Resources res = themeContext.getResources(); - final int resId = showWallpaper ? pi.legacyThemeInfos[0].wallpaperResourceId : - pi.legacyThemeInfos[0].previewResourceId; - bitmap = Utils.decodeResource(res, resId, mMaxImageSize.x, mMaxImageSize.y); - } catch (PackageManager.NameNotFoundException e) { - bitmap = null; - } - } - return bitmap; - } - - @Override - protected void onPostExecute(Bitmap result) { - if (!imv.getTag().toString().equals(path)) { - return; - } - - if (result != null && imv != null) { - imv.setVisibility(View.VISIBLE); - imv.setImageBitmap(result); - } - } - } - - - public static class LoadIconsTask extends AsyncTask<Void, Void, List<IconInfo>> { - private String mPkgName; - private Context mContext; - private ViewGroup mIconViewGroup; - - public LoadIconsTask(Context context, String pkgName, ViewGroup iconViewGroup) { - mPkgName = pkgName; - mContext = context.getApplicationContext(); - mIconViewGroup = iconViewGroup; - mIconViewGroup.setTag(pkgName); - } - - @Override - protected List<IconInfo> doInBackground(Void... arg0) { - List<IconInfo> icons = new ArrayList<IconInfo>(); - IconPreviewHelper helper = new IconPreviewHelper(mContext, mPkgName); - - for (ComponentName component - : WallpaperAndIconPreviewFragment.getIconComponents(mContext)) { - Drawable icon = helper.getIcon(component); - IconInfo info = new IconInfo(null, icon); - icons.add(info); - } - - return icons; - } - - @Override - protected void onPreExecute() { - super.onPreExecute(); - mIconViewGroup.removeAllViews(); - } - - @Override - protected void onPostExecute(List<IconInfo> icons) { - if (!mIconViewGroup.getTag().toString().equals(mPkgName) || icons == null) { - return; - } - - for (IconInfo info : icons) { - LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(0, - LayoutParams.WRAP_CONTENT, 1f); - lparams.weight = 1f / icons.size(); - - // Sizes of composed icons differ in size from other icons when using - // ImageView. Using a TextView like in WallpaperAndIconPreviewFragment - // displays the icons as the correct size. - TextView tv = new TextView(mContext); - tv.setGravity(Gravity.CENTER_HORIZONTAL); - tv.setLayoutParams(lparams); - tv.setCompoundDrawables(null, info.icon, null, null); - mIconViewGroup.addView(tv); - } - } - } -} diff --git a/src/org/cyanogenmod/theme/chooser/ChooserDetailFragment.java b/src/org/cyanogenmod/theme/chooser/ChooserDetailFragment.java deleted file mode 100644 index acc6906..0000000 --- a/src/org/cyanogenmod/theme/chooser/ChooserDetailFragment.java +++ /dev/null @@ -1,650 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import android.content.Context; -import android.content.res.ThemeManager; -import android.content.res.ThemeManager.ThemeChangeListener; -import android.database.Cursor; -import android.graphics.drawable.ClipDrawable; -import android.graphics.drawable.LayerDrawable; -import android.graphics.drawable.StateListDrawable; -import android.net.Uri; -import android.os.Bundle; -import android.os.Handler; -import android.provider.ThemesContract; -import android.provider.ThemesContract.MixnMatchColumns; -import android.provider.ThemesContract.ThemesColumns; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentStatePagerAdapter; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.CursorLoader; -import android.support.v4.content.Loader; -import android.support.v4.view.ViewPager; -import android.util.Log; -import android.util.SparseArray; -import android.view.LayoutInflater; -import android.view.View; -import android.view.View.OnClickListener; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.CheckBox; -import android.widget.CompoundButton; -import android.widget.CompoundButton.OnCheckedChangeListener; -import android.widget.TextView; - -import com.viewpagerindicator.CirclePageIndicator; -import org.cyanogenmod.theme.util.ChooserDetailScrollView; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -public class ChooserDetailFragment extends Fragment implements LoaderManager.LoaderCallbacks<Cursor>, ThemeChangeListener { - public static final HashMap<String, Integer> sComponentToId = new HashMap<String, Integer>(); - - private static final String TAG = ChooserDetailFragment.class.getName(); - private static final int LOADER_ID_THEME_INFO = 0; - private static final int LOADER_ID_APPLIED_THEME = 1; - - // Drawer States - private static final int DRAWER_CLOSED = 0; - private static final int DRAWER_PARTIALLY_OPEN = 1; - private static final int DRAWER_MOSTLY_OPEN = 2; - private static final int DRAWER_OPEN = 3; - - // Threshold values in "percentage scrolled" to determine what state the drawer is in - // ex: User opens up the drawer a little bit, taking up 10% of the visible space. The - // drawer is now considered partially open - // because CLOSED_THRESHOLD < 10% < PARTIAL_OPEN_THRESHOLD - private static final int DRAWER_CLOSED_THRESHOLD = 5; - private static final int DRAWER_PARTIALLY_OPEN_THRESHOLD = 25; - private static final int DRAWER_MOSTLY_OPEN_THRESHOLD = 90; - private static final int DRAWER_OPEN_THRESHOLD = 100; - - // Where to scroll when moving to a new state - private static final int DRAWER_CLOSED_SCROLL_AMOUNT = 0; - private static final int DRAWER_PARTIALLY_OPEN_AMOUNT = 25; - private static final int DRAWER_MOSTLY_OPEN_AMOUNT = 75; - private static final int DRAWER_FULLY_OPEN_AMOUNT = 100; - - private TextView mTitle; - private TextView mAuthor; - private Button mApply; - private ViewPager mPager; - private ThemeDetailPagerAdapter mPagerAdapter; - private String mPkgName; - private ChooserDetailScrollView mSlidingPanel; - private CirclePageIndicator mIndicator; - - private Handler mHandler; - private Cursor mAppliedThemeCursor; - private HashMap<String, CheckBox> mComponentToCheckbox = new HashMap<String, CheckBox>(); - - private boolean mLoadInitialCheckboxStates = true; - private SparseArray<Boolean> mInitialCheckboxStates = new SparseArray<Boolean>(); - private SparseArray<Boolean> mCurrentCheckboxStates = new SparseArray<Boolean>(); - private SparseArray<Boolean> mSavedCheckboxStates = new SparseArray<Boolean>(); - - // allows emphasis on a particular aspect of a theme. ex "mods_icons" would - // uncheck all components but icons and sets the first preview image to be the icon pack - private ArrayList<String> mComponentFilters; - - private ThemeManager mService; - - static { - sComponentToId.put(ThemesColumns.MODIFIES_OVERLAYS, R.id.chk_overlays); - sComponentToId.put(ThemesColumns.MODIFIES_BOOT_ANIM, R.id.chk_boot_anims); - sComponentToId.put(ThemesColumns.MODIFIES_FONTS, R.id.chk_fonts); - sComponentToId.put(ThemesColumns.MODIFIES_ICONS, R.id.chk_icons); - sComponentToId.put(ThemesColumns.MODIFIES_LAUNCHER, R.id.chk_wallpaper); - sComponentToId.put(ThemesColumns.MODIFIES_LOCKSCREEN, R.id.chk_lockscreen); - sComponentToId.put(ThemesColumns.MODIFIES_RINGTONES, R.id.chk_ringtones); - sComponentToId.put(ThemesColumns.MODIFIES_NOTIFICATIONS, R.id.chk_notifications); - sComponentToId.put(ThemesColumns.MODIFIES_ALARMS, R.id.chk_alarms); - } - - public static ChooserDetailFragment newInstance(String pkgName, ArrayList<String> componentFilters) { - ChooserDetailFragment fragment = new ChooserDetailFragment(); - Bundle args = new Bundle(); - args.putString("pkgName", pkgName); - args.putStringArrayList(ChooserActivity.EXTRA_COMPONENT_FILTER, componentFilters); - fragment.setArguments(args); - return fragment; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mHandler = new Handler(); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mPkgName = getArguments().getString("pkgName"); - ArrayList<String> filters = getArguments().getStringArrayList(ChooserActivity.EXTRA_COMPONENT_FILTER); - mComponentFilters = (filters != null) ? filters : new ArrayList<String>(0); - View v = inflater.inflate(R.layout.fragment_chooser_theme_pager_item, container, false); - mTitle = (TextView) v.findViewById(R.id.title); - mAuthor = (TextView) v.findViewById(R.id.author); - - mPager = (ViewPager) v.findViewById(R.id.pager); - mPager.setOnClickListener(new OnClickListener() { - @Override - public void onClick(View view) { - int state = getDrawerState(); - switch(state) { - case DRAWER_CLOSED: - smoothScrollDrawerTo(DRAWER_PARTIALLY_OPEN); - break; - case DRAWER_PARTIALLY_OPEN: - case DRAWER_MOSTLY_OPEN: - smoothScrollDrawerTo(DRAWER_OPEN); - break; - case DRAWER_OPEN: - smoothScrollDrawerTo(DRAWER_CLOSED); - break; - } - } - }); - - mPagerAdapter = new ThemeDetailPagerAdapter(getChildFragmentManager()); - mPager.setAdapter(mPagerAdapter); - - - mIndicator = (CirclePageIndicator) v.findViewById(R.id.titles); - mIndicator.setViewPager(mPager); - - mApply = (Button) v.findViewById(R.id.apply); - mApply.setOnClickListener(new OnClickListener() { - public void onClick(View view) { - List<String> components = getCheckedComponents(); - mService.requestThemeChange(mPkgName, components); - mApply.setText(R.string.applying); - } - }); - - mSlidingPanel = (ChooserDetailScrollView) v.findViewById(R.id.sliding_layout); - - // Find all the checkboxes for theme components (ex wallpaper) - for (Map.Entry<String, Integer> entry : sComponentToId.entrySet()) { - CheckBox componentCheckbox = (CheckBox) v.findViewById(entry.getValue()); - mComponentToCheckbox.put(entry.getKey(), componentCheckbox); - componentCheckbox.setOnCheckedChangeListener(mComponentCheckChangedListener); - if (savedInstanceState != null) { - mSavedCheckboxStates.put(entry.getValue(), - savedInstanceState.getBoolean(entry.getKey())); - } - } - - getLoaderManager().initLoader(LOADER_ID_THEME_INFO, null, this); - getLoaderManager().initLoader(LOADER_ID_APPLIED_THEME, null, this); - mService = (ThemeManager) getActivity().getSystemService(Context.THEME_SERVICE); - return v; - } - - @Override - public void onSaveInstanceState(Bundle outState) { - super.onSaveInstanceState(outState); - for (Map.Entry<String, CheckBox> entry : mComponentToCheckbox.entrySet()) { - String component = entry.getKey(); - CheckBox checkBox = entry.getValue(); - outState.putBoolean(component, checkBox.isChecked()); - } - } - - private List<String> getCheckedComponents() { - // Get all checked components - List<String> components = new ArrayList<String>(); - for (Map.Entry<String, CheckBox> entry : mComponentToCheckbox.entrySet()) { - String component = entry.getKey(); - CheckBox checkbox = entry.getValue(); - if (checkbox.isEnabled() && checkbox.isChecked()) { - components.add(component); - } - } - return components; - } - - @Override - public void onResume() { - super.onResume(); - if (mService != null) { - mService.onClientResumed(this); - } - refreshApplyButton(); - } - - @Override - public void onPause() { - super.onPause(); - if (mService != null) { - mService.onClientPaused(this); - } - } - - @Override - public void onDestroy() { - super.onDestroy(); - if (mService != null) { - mService.onClientDestroyed(this); - } - } - - @Override - public void onStart() { - super.onStart(); - mSlidingPanel.post(mShowSlidingPanelRunnable); - } - - private Runnable mShowSlidingPanelRunnable = new Runnable() { - @Override - public void run() { - // Arbitrarily scroll a bit at the start - int height = mSlidingPanel.getHeight() / 4; - mSlidingPanel.smoothScrollTo(0, height); - } - }; - - private OnCheckedChangeListener mComponentCheckChangedListener = new OnCheckedChangeListener() { - @Override - public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { - mCurrentCheckboxStates.put(buttonView.getId(), isChecked); - if (componentSelectionChanged()) { - mApply.setEnabled(true); - } else { - mApply.setEnabled(false); - } - } - }; - - private boolean componentSelectionChanged() { - if (mCurrentCheckboxStates.size() != mInitialCheckboxStates.size()) return false; - - int N = mInitialCheckboxStates.size(); - for (int i = 0; i < N; i++) { - int key = mInitialCheckboxStates.keyAt(i); - if (!mInitialCheckboxStates.get(key).equals(mCurrentCheckboxStates.get(key))) { - return true; - } - } - - return false; - } - - @Override - public Loader<Cursor> onCreateLoader(int id, Bundle args) { - Uri uri = null; - String selection = null; - String[] selectionArgs = null; - - switch (id) { - case LOADER_ID_THEME_INFO: - uri = ThemesColumns.CONTENT_URI; - selection = ThemesColumns.PKG_NAME + "= ?"; - selectionArgs = new String[] { mPkgName }; - break; - case LOADER_ID_APPLIED_THEME: - uri = MixnMatchColumns.CONTENT_URI; - break; - } - - return new CursorLoader(getActivity(), uri, null, selection, selectionArgs, null); - } - - @Override - public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) { - int id = cursorLoader.getId(); - - if (id == LOADER_ID_THEME_INFO) { - if (cursor.getCount() == 0) { - //Theme was deleted - safelyPopStack(); - } else { - loadThemeInfo(cursor); - } - } else if (id == LOADER_ID_APPLIED_THEME) { - loadAppliedInfo(cursor); - } - } - - /** - * Avoid IllegalStateException when popping the backstack - * in onLoadFinished. - */ - private void safelyPopStack() { - Runnable r = new Runnable() { - public void run() { - getFragmentManager().popBackStackImmediate(); - } - }; - mHandler.post(r); - } - - private void loadThemeInfo(Cursor cursor) { - cursor.moveToFirst(); - int titleIdx = cursor.getColumnIndex(ThemesColumns.TITLE); - int authorIdx = cursor.getColumnIndex(ThemesColumns.AUTHOR); - int hsIdx = cursor.getColumnIndex(ThemesColumns.HOMESCREEN_URI); - int legacyIdx = cursor.getColumnIndex(ThemesColumns.IS_LEGACY_THEME); - int styleIdx = cursor.getColumnIndex(ThemesColumns.STYLE_URI); - int lockIdx = cursor.getColumnIndex(ThemesColumns.LOCKSCREEN_URI); - int defaultIdx = cursor.getColumnIndex(ThemesColumns.IS_DEFAULT_THEME); - - boolean isLegacyTheme = cursor.getInt(legacyIdx) == 1; - boolean isDefaultTheme = cursor.getInt(defaultIdx) == 1; - String title = ChooserBrowseFragment.DEFAULT.equals(mPkgName) - ? getActivity().getString(R.string.holo) : cursor.getString(titleIdx); - String author = cursor.getString(authorIdx); - String hsImagePath = isLegacyTheme ? mPkgName : cursor.getString(hsIdx); - String styleImagePath = cursor.getString(styleIdx); - String lockWallpaperImagePath = cursor.getString(lockIdx); - - mTitle.setText(title + (isDefaultTheme ? " " + getString(R.string.default_tag) : "")); - mAuthor.setText(author); - - // Configure checkboxes for all the theme components - List<String> supportedComponents = new LinkedList<String>(); - for (Map.Entry<String, CheckBox> entry : mComponentToCheckbox.entrySet()) { - String componentName = entry.getKey(); - CheckBox componentCheckbox = entry.getValue(); - int idx = cursor.getColumnIndex(componentName); - boolean componentIncludedInTheme = cursor.getInt(idx) == 1; - - - if (!shouldComponentBeVisible(componentName)) { - componentCheckbox.setVisibility(View.GONE); - } - - if (shouldComponentBeEnabled(componentName, componentIncludedInTheme)) { - componentCheckbox.setEnabled(true); - } else { - componentCheckbox.setEnabled(false); - } - - if (componentIncludedInTheme) { - supportedComponents.add(componentName); - } - } - - mPagerAdapter.setPreviewImage(hsImagePath, isLegacyTheme); - mPagerAdapter.setStyleImage(styleImagePath); - mPagerAdapter.setLockScreenImage(lockWallpaperImagePath); - mPagerAdapter.update(supportedComponents); - } - - private boolean shouldComponentBeVisible(String componentName) { - // Theme pack, so it is always visible - if (mComponentFilters.isEmpty()) return true; - //Not in a theme pack - return !componentFiltered(componentName); - } - - private boolean shouldComponentBeEnabled(String componentName, boolean componentIncludedInTheme) { - return !componentFiltered(componentName) && componentIncludedInTheme; - } - - - private boolean componentFiltered(String componentName) { - if (mComponentFilters.isEmpty()) return false; - return !mComponentFilters.contains(componentName); - } - - private void loadAppliedInfo(Cursor cursor) { - mAppliedThemeCursor = cursor; - refreshChecksForCheckboxes(); - refreshApplyButton(); - } - - private void refreshChecksForCheckboxes() { - - //Determine which components are applied - List<String> appliedComponents = new ArrayList<String>(); - if (mAppliedThemeCursor != null) { - mAppliedThemeCursor.moveToPosition(-1); - while (mAppliedThemeCursor.moveToNext()) { - String mixnmatchkey = mAppliedThemeCursor.getString(mAppliedThemeCursor.getColumnIndex(MixnMatchColumns.COL_KEY)); - String component = ThemesContract.MixnMatchColumns.mixNMatchKeyToComponent(mixnmatchkey); - String pkg = mAppliedThemeCursor.getString(mAppliedThemeCursor.getColumnIndex(MixnMatchColumns.COL_VALUE)); - - if (pkg.equals(mPkgName)) { - appliedComponents.add(component); - } - } - } - - //Apply checks - for (Map.Entry<String, CheckBox> entry : mComponentToCheckbox.entrySet()) { - String componentName = entry.getKey(); - CheckBox componentCheckbox = entry.getValue(); - - if (appliedComponents.contains(componentName)) { - if (mSavedCheckboxStates.size() > 0 && - mSavedCheckboxStates.get(componentCheckbox.getId()) != null) { - componentCheckbox.setChecked(mSavedCheckboxStates.get( - componentCheckbox.getId())); - } else { - componentCheckbox.setChecked(true); - } - } - if (mLoadInitialCheckboxStates) { - mInitialCheckboxStates.put(componentCheckbox.getId(), - componentCheckbox.isChecked()); - } - mCurrentCheckboxStates.put(componentCheckbox.getId(), componentCheckbox.isChecked()); - } - } - - private void refreshApplyButton() { - //Default - mApply.setText(R.string.apply); - StateListDrawable d = (StateListDrawable) mApply.getBackground(); - LayerDrawable bg = (LayerDrawable) d.getStateDrawable( - d.getStateDrawableIndex(new int[] {android.R.attr.state_enabled})); - final ClipDrawable clip = (ClipDrawable) bg.findDrawableByLayerId(android.R.id.progress); - clip.setLevel(0); - - //Determine whether the apply button should show "apply" or "update" - if (mAppliedThemeCursor != null) { - mAppliedThemeCursor.moveToPosition(-1); - while (mAppliedThemeCursor.moveToNext()) { - String component = mAppliedThemeCursor.getString(mAppliedThemeCursor.getColumnIndex(MixnMatchColumns.COL_KEY)); - String pkg = mAppliedThemeCursor.getString(mAppliedThemeCursor.getColumnIndex(MixnMatchColumns.COL_VALUE)); - - // At least one component is set here for this theme - if (pkg != null && mPkgName.equals(pkg)) { - mApply.setText(R.string.update); - break; - } - } - } - - //Determine if the apply button's progress - int progress = (mService == null) ? 0 : mService.getProgress(); - if (progress != 0) { - clip.setLevel(progress * 100); - mApply.setText(R.string.applying); - mApply.setClickable(false); - } else { - mApply.setClickable(true); - } - } - - @Override - public void onLoaderReset(Loader<Cursor> cursor) { - mAppliedThemeCursor = null; - } - - @Override - public void onProgress(int progress) { - refreshApplyButton(); - } - - @Override - public void onFinish(boolean isSuccess) { - Log.d(TAG, "Finished Applying Theme success=" + isSuccess); - refreshApplyButton(); - } - - public class ThemeDetailPagerAdapter extends FragmentStatePagerAdapter { - private List<String> mPreviewList = new LinkedList<String>(); - private List<String> mSupportedComponents = Collections.emptyList(); - private String mPreviewImagePath; - private boolean mIsLegacyTheme; - private String mLockScreenImagePath; - private String mStyleImagePath; - - public ThemeDetailPagerAdapter(FragmentManager fm) { - super(fm); - } - - public void setPreviewImage(String imagePath, boolean isLegacyTheme) { - mPreviewImagePath = imagePath; - mIsLegacyTheme = isLegacyTheme; - } - - public void setStyleImage(String imagePath) { - mStyleImagePath = imagePath; - } - - public void setLockScreenImage(String lockPath) { - mLockScreenImagePath = lockPath; - } - - private void update(List<String> supportedComponents) { - mSupportedComponents = supportedComponents; - mPreviewList.clear(); - mPreviewList.addAll(supportedComponents); - - // If a particular component is being emphasized - // then the preview image should reflect that by showing it first - for (String component : mComponentFilters) { - mPreviewList.remove(component); - mPreviewList.add(0, component); - } - - // Wallpaper and Icons are previewed together so two fragments are not needed - if (mSupportedComponents.contains(ThemesColumns.MODIFIES_LAUNCHER) && - mSupportedComponents.contains(ThemesColumns.MODIFIES_ICONS)) { - mPreviewList.remove(ThemesColumns.MODIFIES_ICONS); - } - - // The AudiblePreviewFragment will take care of loading all available - // audibles so remove all but one so only one fragment instance is created - if (mSupportedComponents.contains(ThemesColumns.MODIFIES_ALARMS)) { - mPreviewList.remove(ThemesColumns.MODIFIES_NOTIFICATIONS); - mPreviewList.remove(ThemesColumns.MODIFIES_RINGTONES); - } else if (mSupportedComponents.contains(ThemesColumns.MODIFIES_NOTIFICATIONS)) { - mPreviewList.remove(ThemesColumns.MODIFIES_RINGTONES); - } - - notifyDataSetChanged(); - } - - @Override - public int getCount() { - return mPreviewList.size(); - } - - @Override - public Fragment getItem(int position) { - String component = mPreviewList.get(position); - Fragment fragment = null; - - if (component.equals(ThemesColumns.MODIFIES_LAUNCHER)) { - boolean showIcons = mSupportedComponents.contains(ThemesColumns.MODIFIES_ICONS); - fragment = WallpaperAndIconPreviewFragment.newInstance(mPreviewImagePath, mPkgName, - mIsLegacyTheme, showIcons); - } else if (component.equals(ThemesColumns.MODIFIES_OVERLAYS)) { - fragment = WallpaperAndIconPreviewFragment.newInstance(mStyleImagePath, mPkgName, - mIsLegacyTheme, false); - } else if (component.equals(ThemesColumns.MODIFIES_BOOT_ANIM)) { - fragment = BootAniPreviewFragment.newInstance(mPkgName); - } else if (component.equals(ThemesColumns.MODIFIES_FONTS)) { - fragment = FontPreviewFragment.newInstance(mPkgName); - } else if (component.equals(ThemesColumns.MODIFIES_LOCKSCREEN)) { - fragment = WallpaperAndIconPreviewFragment.newInstance(mLockScreenImagePath, - mPkgName, mIsLegacyTheme, false); - } else if (component.equals(ThemesColumns.MODIFIES_LAUNCHER)) { - throw new UnsupportedOperationException("Not implemented yet!"); - } else if (component.equals(ThemesColumns.MODIFIES_ICONS)) { - fragment = WallpaperAndIconPreviewFragment.newInstance(mPreviewImagePath, mPkgName, - mIsLegacyTheme, mSupportedComponents.contains(ThemesColumns.MODIFIES_ICONS)); - } else if (component.equals(ThemesColumns.MODIFIES_ALARMS) - || component.equals(ThemesColumns.MODIFIES_NOTIFICATIONS) - || component.equals(ThemesColumns.MODIFIES_RINGTONES)) { - fragment = AudiblePreviewFragment.newInstance(mPkgName); - } else { - throw new UnsupportedOperationException("Cannot preview " + component); - } - return fragment; - } - } - - private void smoothScrollDrawerTo(int drawerState) { - int scrollPercentage = 0; - switch(drawerState) { - case DRAWER_CLOSED: - scrollPercentage = DRAWER_CLOSED_SCROLL_AMOUNT; - break; - case DRAWER_PARTIALLY_OPEN: - scrollPercentage = DRAWER_PARTIALLY_OPEN_AMOUNT; - break; - case DRAWER_MOSTLY_OPEN: - scrollPercentage = DRAWER_MOSTLY_OPEN_AMOUNT; - break; - case DRAWER_OPEN: - scrollPercentage = DRAWER_FULLY_OPEN_AMOUNT; - break; - default: - throw new IllegalArgumentException("Bad drawer state: " + drawerState); - } - - int visibleHeight = mSlidingPanel.getHeight(); - View handle = mSlidingPanel.getHandle(); - visibleHeight -= handle.getHeight(); - - int scrollY = scrollPercentage * visibleHeight / 100; - mSlidingPanel.smoothScrollTo(0, scrollY); - } - - private int getDrawerState() { - // Scroll between 3 different heights when pager is clicked - int visibleHeight = mSlidingPanel.getHeight(); - View handle = mSlidingPanel.getHandle(); - visibleHeight -= handle.getHeight(); - int scrollY = mSlidingPanel.getScrollY(); - int percentageScrolled = (scrollY * 100) / (visibleHeight); - - //Check if we are bottom of scroll - View view = (View) mSlidingPanel.getChildAt(0); - boolean isAtBottom = (view.getBottom() - (mSlidingPanel.getHeight() + scrollY)) == 0; - - if (percentageScrolled < DRAWER_CLOSED_THRESHOLD && !isAtBottom) { - return DRAWER_CLOSED; - } else if (percentageScrolled < DRAWER_PARTIALLY_OPEN_THRESHOLD && !isAtBottom) { - return DRAWER_PARTIALLY_OPEN; - } else if (percentageScrolled < DRAWER_MOSTLY_OPEN_THRESHOLD && !isAtBottom) { - return DRAWER_MOSTLY_OPEN; - } - - return DRAWER_OPEN; - } -} diff --git a/src/org/cyanogenmod/theme/chooser/FontPreviewFragment.java b/src/org/cyanogenmod/theme/chooser/FontPreviewFragment.java deleted file mode 100644 index fdde292..0000000 --- a/src/org/cyanogenmod/theme/chooser/FontPreviewFragment.java +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import android.graphics.Typeface; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.TextView; - -import org.cyanogenmod.theme.util.ThemedTypefaceHelper; - - -public class FontPreviewFragment extends Fragment { - private static final String PKG_EXTRA = "pkg_extra"; - private String mPkgName; - - private Typeface mTypefaceNormal; - private Typeface mTypefaceBold; - private Typeface mTypefaceItalic; - private Typeface mTypefaceBoldItalic; - - private TextView mTv1; - private TextView mTv2; - private TextView mTv3; - private TextView mTv4; - - static FontPreviewFragment newInstance(String pkgName) { - final FontPreviewFragment f = new FontPreviewFragment(); - final Bundle args = new Bundle(); - args.putString(PKG_EXTRA, pkgName); - f.setArguments(args); - return f; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mPkgName = getArguments().getString(PKG_EXTRA); - - ThemedTypefaceHelper helper = new ThemedTypefaceHelper(); - helper.load(getActivity(), mPkgName); - mTypefaceNormal = helper.getTypeface(Typeface.NORMAL); - mTypefaceBold = helper.getTypeface(Typeface.BOLD); - mTypefaceItalic = helper.getTypeface(Typeface.ITALIC); - mTypefaceBoldItalic = helper.getTypeface(Typeface.BOLD_ITALIC); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.font_preview_item, container, false); - mTv1 = (TextView) view.findViewById(R.id.text1); - mTv2 = (TextView) view.findViewById(R.id.text2); - mTv3 = (TextView) view.findViewById(R.id.text3); - mTv4 = (TextView) view.findViewById(R.id.text4); - - mTv1.setTypeface(mTypefaceNormal); - mTv3.setTypeface(mTypefaceItalic); - mTv2.setTypeface(mTypefaceBold); - mTv4.setTypeface(mTypefaceBoldItalic); - - return view; - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - } -} diff --git a/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java b/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java deleted file mode 100644 index 510a8a6..0000000 --- a/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java +++ /dev/null @@ -1,335 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.chooser; - -import java.util.ArrayList; -import java.util.List; - -import android.content.ComponentName; -import android.content.Context; -import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; -import android.content.res.AssetManager; -import android.content.res.ThemeConfig; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Color; -import android.graphics.Point; -import android.graphics.drawable.Drawable; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.support.v4.app.LoaderManager.LoaderCallbacks; -import android.support.v4.content.AsyncTaskLoader; -import android.support.v4.content.Loader; -import android.view.Display; -import android.view.Gravity; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.ViewGroup.LayoutParams; -import android.view.WindowManager; -import android.webkit.URLUtil; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.TextView; - -import org.cyanogenmod.theme.util.IconPreviewHelper; -import org.cyanogenmod.theme.util.Utils; - -public class WallpaperAndIconPreviewFragment extends Fragment -{ - private static final int LOADER_ID_IMAGE = 0; - private static final int LOADER_ID_ICONS = 1; - - private static final ComponentName COMPONENT_DIALER = - new ComponentName("com.android.dialer", "com.android.dialer.DialtactsActivity"); - private static final ComponentName COMPONENT_MESSAGING = - new ComponentName("com.android.mms", "com.android.mms.ui.ConversationList"); - private static final ComponentName COMPONENT_CAMERANEXT = - new ComponentName("com.cyngn.cameranext", "com.android.camera.CameraLauncher"); - private static final ComponentName COMPONENT_CAMERA = - new ComponentName("com.android.camera2", "com.android.camera.CameraActivity"); - private static final ComponentName COMPONENT_BROWSER = - new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"); - private static final ComponentName COMPONENT_SETTINGS = - new ComponentName("com.android.settings", "com.android.settings.Settings"); - private static final ComponentName COMPONENT_CALENDAR = - new ComponentName("com.android.calendar", "com.android.calendar.AllInOneActivity"); - private static final ComponentName COMPONENT_GALERY = - new ComponentName("com.android.gallery3d", "com.android.gallery3d.app.GalleryActivity"); - - private static final String CAMERA_NEXT_PACKAGE = "com.cyngn.cameranext"; - - private static ComponentName[] sIconComponents; - - private static final String PKGNAME_EXTRA = "pkgname"; - private static final String IMAGE_DATA_EXTRA = "url"; - private static final String LEGACY_THEME_EXTRA = "isLegacyTheme"; - private static final String HAS_ICONS_EXTRA = "hasIcons"; - - public static final String FRAMEWORK_RES = "/system/framework/framework-res.apk"; - - private String mPkgName; - private String mImageUrl; - private boolean mIsLegacyTheme; - private boolean mHasIcons; - - private ImageView mImageView; - private LinearLayout mIconContainer; - private TextView mNoPreview; - - static WallpaperAndIconPreviewFragment newInstance(String imageUrl, String pkgName, boolean isLegacyTheme, boolean hasIcons) { - final WallpaperAndIconPreviewFragment f = new WallpaperAndIconPreviewFragment(); - final Bundle args = new Bundle(); - args.putString(IMAGE_DATA_EXTRA, imageUrl); - args.putString(PKGNAME_EXTRA, pkgName); - args.putBoolean(LEGACY_THEME_EXTRA, isLegacyTheme); - args.putBoolean(HAS_ICONS_EXTRA, hasIcons); - f.setArguments(args); - return f; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mImageUrl = getArguments().getString(IMAGE_DATA_EXTRA); - mIsLegacyTheme = getArguments().getBoolean(LEGACY_THEME_EXTRA); - mHasIcons = getArguments().getBoolean(HAS_ICONS_EXTRA); - mPkgName = getArguments().getString(PKGNAME_EXTRA); - - getIconComponents(getActivity()); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.image_preview_item, container, false); - mImageView = (ImageView) view.findViewById(R.id.image); - mIconContainer = (LinearLayout) view.findViewById(R.id.icon_container); - mNoPreview = (TextView) view.findViewById(R.id.no_preview); - return view; - } - - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - getLoaderManager().initLoader(LOADER_ID_IMAGE, null, mImageCallbacks); - if (mHasIcons) { - getLoaderManager().initLoader(LOADER_ID_ICONS, null, mIconCallbacks); - } - } - - @Override - public void onStart() { - super.onStart(); - - } - - public static ComponentName[] getIconComponents(Context context) { - - if (sIconComponents == null || sIconComponents.length == 0) { - sIconComponents = new ComponentName[]{COMPONENT_DIALER, COMPONENT_MESSAGING, - COMPONENT_CAMERA, COMPONENT_BROWSER}; - - PackageManager pm = context.getPackageManager(); - - // if device does not have telephony replace dialer and mms - if (!pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)) { - sIconComponents[0] = COMPONENT_CALENDAR; - sIconComponents[1] = COMPONENT_GALERY; - } - - if (!pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)) { - sIconComponents[2] = COMPONENT_SETTINGS; - } else { - // decide on which camera icon to use - try { - if (pm.getPackageInfo(CAMERA_NEXT_PACKAGE, 0) != null) { - sIconComponents[2] = COMPONENT_CAMERANEXT; - } - } catch (NameNotFoundException e) { - // default to COMPONENT_CAMERA - } - } - - } - - return sIconComponents; - } - - private final LoaderCallbacks<Bitmap> mImageCallbacks = new LoaderCallbacks<Bitmap>() { - - @Override - public Loader<Bitmap> onCreateLoader(int id, Bundle args) { - return new ImageLoader(getActivity(), mIsLegacyTheme, mPkgName, mImageUrl); - } - - @Override - public void onLoadFinished(Loader<Bitmap> loader, Bitmap result) { - mImageView.setImageBitmap(result); - if (result == null && !mHasIcons) { - mNoPreview.setVisibility(View.VISIBLE); - } - } - - @Override - public void onLoaderReset(Loader<Bitmap> loader) { - } - }; - - private final LoaderCallbacks<List<IconInfo>> mIconCallbacks = new LoaderCallbacks<List<IconInfo>>() { - @Override - public Loader<List<IconInfo>> onCreateLoader(int id, Bundle args) { - return new IconsLoader(getActivity(), mPkgName); - } - - @Override - public void onLoadFinished(Loader<List<IconInfo>> loader, List<IconInfo> infos) { - final float SHADOW_LARGE_RADIUS = 4.0f; - final float SHADOW_Y_OFFSET = 2.0f; - final int SHADOW_LARGE_COLOUR = 0xDD000000; - - mIconContainer.removeAllViews(); - for (IconInfo info : infos) { - LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(0, - LayoutParams.WRAP_CONTENT, 1f); - lparams.weight = 1f / infos.size(); - TextView tv = new TextView(loader.getContext()); - tv.setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR); - tv.setTextColor(Color.WHITE); - tv.setGravity(Gravity.CENTER_HORIZONTAL); - tv.setLayoutParams(lparams); - tv.setCompoundDrawables(null, info.icon, null, null); - tv.setText(info.name); - - mIconContainer.addView(tv); - } - } - - @Override - public void onLoaderReset(Loader<List<IconInfo>> loader) { - } - - }; - - public static class ImageLoader extends AsyncTaskLoader<Bitmap> { - private String mPkgName; - private boolean mIsLegacyTheme; - private String mImageUrl; - private Point mDisplaySize = new Point(); - - public ImageLoader(Context context, boolean isLegacyTheme, String pkgName, String imageUrl) { - super(context); - mIsLegacyTheme = isLegacyTheme; - mPkgName = pkgName; - mImageUrl = imageUrl; - WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); - Display display = wm.getDefaultDisplay(); - display.getSize(mDisplaySize); - onContentChanged(); - } - - @Override - protected void onStartLoading() { - if (takeContentChanged()) { - forceLoad(); - } - } - - @Override - public Bitmap loadInBackground() { - Bitmap bitmap = null; - - if (mIsLegacyTheme) { - return loadLegacyImage(); - } - - if (ThemeConfig.HOLO_DEFAULT.equals(mPkgName)) { - Resources res = getContext().getResources(); - AssetManager assets = new AssetManager(); - assets.addAssetPath(FRAMEWORK_RES); - Resources frameworkRes = new Resources(assets, res.getDisplayMetrics(), - res.getConfiguration()); - bitmap = BitmapFactory.decodeResource(frameworkRes, - com.android.internal.R.drawable.default_wallpaper); - } else { - if (URLUtil.isAssetUrl(mImageUrl)) { - bitmap = Utils.getBitmapFromAsset(getContext(), mImageUrl, mDisplaySize.x, - mDisplaySize.y); - } else { - bitmap = BitmapFactory.decodeFile(mImageUrl); - } - } - return bitmap; - } - - private Bitmap loadLegacyImage() { - Bitmap bitmap; - try { - PackageManager pm = getContext().getPackageManager(); - PackageInfo pi = pm.getPackageInfo(mPkgName, 0); - final Context themeContext = getContext().createPackageContext(mPkgName, - Context.CONTEXT_IGNORE_SECURITY); - final Resources res = themeContext.getResources(); - bitmap = BitmapFactory.decodeResource(res, pi.legacyThemeInfos[0].previewResourceId); - } catch (PackageManager.NameNotFoundException e) { - bitmap = null; - } - return bitmap; - } - } - - public static class IconsLoader extends AsyncTaskLoader<List<IconInfo>> { - private String mPkgName; - - public IconsLoader(Context context, String pkgName) { - super(context); - mPkgName = pkgName; - onContentChanged(); - } - - @Override - protected void onStartLoading() { - if (takeContentChanged()) { - forceLoad(); - } - } - - @Override - public List<IconInfo> loadInBackground() { - List<IconInfo> icons = new ArrayList<IconInfo>(); - IconPreviewHelper helper = new IconPreviewHelper(getContext(), mPkgName); - - for (ComponentName component : sIconComponents) { - Drawable icon = helper.getIcon(component); - String label = helper.getLabel(component); - IconInfo info = new IconInfo(label, icon); - icons.add(info); - } - return icons; - } - } - - public static class IconInfo { - public String name; - public Drawable icon; - public IconInfo(String name, Drawable drawable) { - this.name = name; - this.icon = drawable; - } - } -} diff --git a/src/org/cyanogenmod/theme/util/ChooserDetailLinearLayout.java b/src/org/cyanogenmod/theme/util/ChooserDetailLinearLayout.java deleted file mode 100644 index b178d03..0000000 --- a/src/org/cyanogenmod/theme/util/ChooserDetailLinearLayout.java +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.util; - -import android.content.Context; -import android.support.v4.view.ViewPager; -import android.util.AttributeSet; -import android.view.View; -import android.widget.LinearLayout; - - -/** - * This class will layout its children in a very specific way. It assumes it is a child of a - * scroll view. - * - * The first two children are assumed to be the "theme preview" and the "drawer handle" which will - * be visible. These children will be restricted in their size since they must be entirely visible. - * The third child will be shown as the user scrolls down and can take as much space as it needs. - */ -public class ChooserDetailLinearLayout extends LinearLayout { - - // The smaller this value the greater the effect - public final int PARALLAX_CONSTANT = 2; - - // Child indices - public final int THEME_PREVIEW_INDEX = 0; - public final int DRAWER_HANDLE_INDEX = 1; - public final int DRAWER_CONTENT_INDEX = 2; - public final int PAGE_INDICATOR_INDEX = 3; - - private ViewPager mPager; - - public ChooserDetailLinearLayout(Context context) { - super(context); - } - - public ChooserDetailLinearLayout(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public ChooserDetailLinearLayout(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - /** - * Assumes the heightMeasureSpec will be exact. This exact data will be used - * to determine the visible page size. - */ - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - int heightSize = MeasureSpec.getSize(heightMeasureSpec); - - // Drawer handle is just author/title. Should get whatever space it needs - View drawerHandle = getChildAt(DRAWER_HANDLE_INDEX); - measureChildWithMargins(drawerHandle, widthMeasureSpec, 0, heightMeasureSpec, 0); - - // Give the theme preview the remainder - View themePreview = getChildAt(THEME_PREVIEW_INDEX); - int usedHeight = drawerHandle.getMeasuredHeight(); - measureChildWithMargins(themePreview, widthMeasureSpec, 0, heightMeasureSpec, usedHeight); - - // Give the drawer content as much as space as it needs. - View drawerContent = getChildAt(DRAWER_CONTENT_INDEX); - final MarginLayoutParams lp = (MarginLayoutParams) drawerContent.getLayoutParams(); - int childWidthSpec = getChildMeasureSpec(widthMeasureSpec, 0, lp.width); - int childHeightSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED); - drawerContent.measure(childWidthSpec, childHeightSpec); - - //Give the page indicator as much space as it needs - View pageIndicator = getChildAt(PAGE_INDICATOR_INDEX); - pageIndicator.measure(childWidthSpec, childHeightSpec); - - // Measure ourself - int width = drawerHandle.getMeasuredWidth(); - int height = themePreview.getMeasuredHeight() + - drawerHandle.getMeasuredHeight() + drawerContent.getMeasuredHeight(); - setMeasuredDimension(width, height); - } - - @Override - protected void onLayout(boolean changed, int l, int t, int r, int b) { - super.onLayout(changed, l, t, r, b); - - // Place the page indicator above the drawer handle - View pageIndicator = getChildAt(PAGE_INDICATOR_INDEX); - int top = getChildAt(DRAWER_HANDLE_INDEX).getTop(); - int height = pageIndicator.getMeasuredHeight(); - pageIndicator.layout(l, top-height, r, top); - } - - public void onScrollChanged(int l, int t, int oldl, int oldt) { - // Give a parallax effect to the theme preview by scrolling in the - // opposite direction of the scrollview - int yScroll = (int) (-t / PARALLAX_CONSTANT); - getChildAt(THEME_PREVIEW_INDEX).scrollTo(0, yScroll); - } - - View getHandle() { - return getChildAt(DRAWER_HANDLE_INDEX); - } -} diff --git a/src/org/cyanogenmod/theme/util/ChooserDetailScrollView.java b/src/org/cyanogenmod/theme/util/ChooserDetailScrollView.java deleted file mode 100644 index 8734cae..0000000 --- a/src/org/cyanogenmod/theme/util/ChooserDetailScrollView.java +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (C) 2014 The CyanogenMod 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. - */ -package org.cyanogenmod.theme.util; - -import android.content.Context; -import android.util.AttributeSet; -import android.view.GestureDetector; -import android.view.MotionEvent; -import android.view.View; -import android.widget.ScrollView; - -/** - * A custom ScrollView capable of alerting its children when a scroll has changed. - * - * This custom view will also measure its children differently. Normally a child in scrollview - * receives an UNSPECIFIED MeasureSpec so that the child will size itself as large as it needs to be. - * - * In our case we want to have a unique layout where the first full page of the scrollview - * has very particular content - * ie the "drawer title/author", and the viewpager taking the remaining part of the screen", with the - * theme component checkboxes taking as much space as it needs. - * - **/ -public class ChooserDetailScrollView extends ScrollView { - private float xDistance; - private float yDistance; - private float lastX; - private float lastY; - - public ChooserDetailScrollView(Context context) { - super(context); - } - - public ChooserDetailScrollView(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public ChooserDetailScrollView(Context context, AttributeSet attrs, int defStyle) { - super(context, attrs, defStyle); - } - - @Override - protected void measureChildWithMargins(View child, int parentWidthMeasureSpec, int widthUsed, - int parentHeightMeasureSpec, int heightUsed) { - final MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams(); - - final int childWidthMeasureSpec = getChildMeasureSpec(parentWidthMeasureSpec, - mPaddingLeft + mPaddingRight + lp.leftMargin + lp.rightMargin - + widthUsed, lp.width); - child.measure(childWidthMeasureSpec, parentHeightMeasureSpec); - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - switch (ev.getAction()) { - case MotionEvent.ACTION_DOWN: - xDistance = yDistance = 0f; - lastX = ev.getX(); - lastY = ev.getY(); - break; - case MotionEvent.ACTION_MOVE: - final float curX = ev.getX(); - final float curY = ev.getY(); - xDistance = Math.abs(curX - lastX); - yDistance = Math.abs(curY - lastY); - lastX = curX; - lastY = curY; - if(xDistance > yDistance) return false; - } - - return super.onInterceptTouchEvent(ev); - } - - @Override - protected void onScrollChanged(int l, int t, int oldl, int oldt) { - super.onScrollChanged(l, t, oldl, oldt); - ((ChooserDetailLinearLayout)getChildAt(0)).onScrollChanged(l, t, oldl, oldt); - } - - public View getHandle() { - return ((ChooserDetailLinearLayout)getChildAt(0)).getHandle(); - } -} diff --git a/src/org/cyanogenmod/theme/util/CustomTypeFaceSpan.java b/src/org/cyanogenmod/theme/util/CustomTypeFaceSpan.java deleted file mode 100644 index 15650cd..0000000 --- a/src/org/cyanogenmod/theme/util/CustomTypeFaceSpan.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Author: Laurence Dawson - * Source: http://stackoverflow.com/questions/9618835/apply-two-different-font-styles-to-a-textview - */ -package org.cyanogenmod.theme.util; - - -import android.graphics.Paint; -import android.graphics.Typeface; -import android.text.TextPaint; -import android.text.style.TypefaceSpan; - -public class CustomTypeFaceSpan extends TypefaceSpan { - - public Typeface mTf; - - public CustomTypeFaceSpan(Typeface tf) { - super(""); - mTf = tf; - } - - @Override - public void updateDrawState(TextPaint ds) { - apply(ds); - - } - - @Override - public void updateMeasureState(TextPaint paint) { - apply(paint); - } - - private void apply(Paint paint) { - int oldStyle; - - Typeface old = paint.getTypeface(); - if (old == null) { - oldStyle = 0; - } else { - oldStyle = old.getStyle(); - } - - int fake = oldStyle & ~mTf.getStyle(); - - if ((fake & Typeface.BOLD) != 0) { - paint.setFakeBoldText(true); - } - - if ((fake & Typeface.ITALIC) != 0) { - paint.setTextSkewX(-0.25f); - } - - paint.setTypeface(mTf); - } -} |