thanks for reply,
yeah, but i want to make the lockscreen wallpaper easyly changeable, because i'm trying to build an own rom
i used google, i read a feld hundrets of threads, but nowhere i can find a solution for fetch the wallpaper which i setup in settings. everybody is asking and no one has a how-to.
i looked in the jkay-lockscreens codes, there is a implement of lockscreenwallpaper.smali in android.policy.jar. perherps someone can port this?!
Code:.class Lcom/android/internal/policy/impl/LockscreenWallpaper; .super Landroid/widget/FrameLayout; .source "LockscreenWallpaper.java" # instance fields .field private final TAG:Ljava/lang/String; .field private final WALLPAPER_IMAGE_PATH:Ljava/lang/String; .field bitmapWallpaper:Landroid/graphics/Bitmap; .field private mLockScreenWallpaperImage:Landroid/widget/ImageView; # direct methods .method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 4 .parameter "context" .parameter "attrs" .prologue .line 26 invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V .line 17 const-string v0, "LockscreenWallpaperUpdater" iput-object v0, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->TAG:Ljava/lang/String; .line 19 const-string v0, "/data/data/com.aokp.romcontrol/files/lockscreen_wallpaper.jpg" iput-object v0, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->WALLPAPER_IMAGE_PATH:Ljava/lang/String; .line 28 invoke-virtual {p0}, Lcom/android/internal/policy/impl/LockscreenWallpaper;->setLockScreenWallpaper()V .line 29 return-void .end method # virtual methods .method protected onDetachedFromWindow()V .registers 2 .prologue .line 48 iget-object v0, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->bitmapWallpaper:Landroid/graphics/Bitmap; if-eqz v0, :cond_9 .line 49 iget-object v0, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->bitmapWallpaper:Landroid/graphics/Bitmap; invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V .line 51 :cond_9 invoke-static {}, Ljava/lang/System;->gc()V .line 52 invoke-super {p0}, Landroid/widget/FrameLayout;->onDetachedFromWindow()V .line 53 return-void .end method .method public setLockScreenWallpaper()V .registers 6 .prologue const/4 v4, -0x1 .line 32 new-instance v1, Ljava/io/File; const-string v2, "/data/data/com.aokp.romcontrol/files/lockscreen_wallpaper.jpg" invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V .line 34 .local v1, file:Ljava/io/File; invoke-virtual {v1}, Ljava/io/File;->exists()Z move-result v2 if-eqz v2, :cond_3e .line 35 new-instance v2, Landroid/widget/ImageView; invoke-virtual {p0}, Lcom/android/internal/policy/impl/LockscreenWallpaper;->getContext()Landroid/content/Context; move-result-object v3 invoke-direct {v2, v3}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V iput-object v2, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->mLockScreenWallpaperImage:Landroid/widget/ImageView; .line 36 iget-object v2, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->mLockScreenWallpaperImage:Landroid/widget/ImageView; sget-object v3, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType; invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 37 iget-object v2, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->mLockScreenWallpaperImage:Landroid/widget/ImageView; invoke-virtual {p0, v2, v4, v4}, Lcom/android/internal/policy/impl/LockscreenWallpaper;->addView(Landroid/view/View;II)V .line 38 const-string v2, "/data/data/com.aokp.romcontrol/files/lockscreen_wallpaper.jpg" invoke-static {v2}, Landroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap; move-result-object v2 iput-object v2, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->bitmapWallpaper:Landroid/graphics/Bitmap; .line 39 new-instance v0, Landroid/graphics/drawable/BitmapDrawable; invoke-virtual {p0}, Lcom/android/internal/policy/impl/LockscreenWallpaper;->getResources()Landroid/content/res/Resources; move-result-object v2 iget-object v3, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->bitmapWallpaper:Landroid/graphics/Bitmap; invoke-direct {v0, v2, v3}, Landroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V .line 40 .local v0, d:Landroid/graphics/drawable/Drawable; iget-object v2, p0, Lcom/android/internal/policy/impl/LockscreenWallpaper;->mLockScreenWallpaperImage:Landroid/widget/ImageView; invoke-virtual {v2, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V .line 44 .end local v0 #d:Landroid/graphics/drawable/Drawable; :goto_3d return-void .line 42 :cond_3e invoke-virtual {p0}, Lcom/android/internal/policy/impl/LockscreenWallpaper;->removeAllViews()V goto :goto_3d .end method
and now i have found a source of jkays keyguard_screen_unlock_portrait.xml
with the implement:
Code:[COLOR="Red"] <com.android.internal.policy.impl.LockscreenWallpaper android:id="@id/lockscreen_wallpaper" android:layout_width="fill_parent" android:layout_height="fill_parent" />[/COLOR]
Code:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:gravity="center_horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <com.android.internal.policy.impl.LockscreenWallpaper android:id="@id/lockscreen_wallpaper" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <GridLayout android:gravity="center_horizontal" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <com.android.internal.widget.DigitalClock android:layout_gravity="right" android:id="@id/time" android:layout_marginTop="@dimen/keyguard_lockscreen_status_line_clockfont_top_margin" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:layout_marginBottom="@dimen/keyguard_lockscreen_status_line_clockfont_bottom_margin"> <TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_background" android:ellipsize="none" android:id="@id/timeDisplayBackground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" /> <TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_clock_font_size" android:textColor="@color/lockscreen_clock_foreground" android:ellipsize="none" android:id="@id/timeDisplayForeground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" /> </com.android.internal.widget.DigitalClock> <LinearLayout android:layout_gravity="right" android:orientation="horizontal" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin"> <TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" /> <TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:id="@id/alarm_status" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16.0dip" android:singleLine="true" android:drawablePadding="4.0dip" /> </LinearLayout> <com.android.internal.policy.impl.WeatherText android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="end" android:gravity="right" android:layout_gravity="fill_horizontal" android:id="@id/weather" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:singleLine="true" android:drawablePadding="4.0dip" /> <ViewFlipper android:layout_gravity="right" android:id="@id/calendar" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:drawablePadding="4.0dip" android:inAnimation="@anim/calendar_fadein" android:outAnimation="@anim/calendar_fadeout" /> <TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:layout_gravity="right" android:id="@id/status1" android:layout_marginRight="@dimen/keyguard_lockscreen_status_line_font_right_margin" android:singleLine="true" android:drawablePadding="4.0dip" /> <Space android:layout_gravity="fill" /> <com.android.internal.widget.LockPatternView android:layout_gravity="center_horizontal" android:id="@id/lockPattern" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginLeft="8.0dip" android:layout_marginRight="8.0dip" android:layout_marginBottom="4.0dip" /> <TextView android:textAppearance="?textAppearanceMedium" android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:ellipsize="marquee" android:layout_gravity="center_horizontal" android:id="@id/carrier" android:singleLine="true" /> <LinearLayout android:gravity="center" android:orientation="horizontal" android:layout_width="fill_parent" android:weightSum="2.0" style="?android:attr/buttonBarStyle"> <Button android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:layout_gravity="center_horizontal" android:id="@id/emergencyCallButton" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="@string/lockscreen_emergency_call" android:drawableLeft="@drawable/lockscreen_emergency_button" android:drawablePadding="0.0dip" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle" /> <Button android:textSize="@dimen/keyguard_lockscreen_status_line_font_size" android:layout_gravity="center_horizontal" android:id="@id/forgotPatternButton" android:layout_width="0.0dip" android:layout_height="wrap_content" android:text="@string/lockscreen_forgot_pattern_button_text" android:drawableLeft="@drawable/lockscreen_forgot_password_button" android:drawablePadding="0.0dip" android:layout_weight="1.0" style="?android:attr/buttonBarButtonStyle" /> </LinearLayout> <include android:layout_gravity="fill" android:id="@id/transport" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_column="0" android:layout_row="0" android:layout_rowSpan="6" android:layout_columnSpan="1" layout="@layout/keyguard_transport_control" /> <TextView android:layout_gravity="fill" android:id="@id/faceLockAreaView" android:background="@color/facelock_color_background" android:visibility="invisible" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_marginTop="8.0dip" android:layout_marginBottom="8.0dip" android:layout_column="0" android:layout_row="6" android:layout_rowSpan="1" android:layout_columnSpan="1" /> </GridLayout> </RelativeLayout>
is someone there who can make it working in kqb?
edit: found it in an aosp-rom, seems its not jkay