[Android General] simonpunk2013:
Nice to hear of this. For the wind direction indicator, I have added 8 more wind directions displayed on the widget which contains totally 16 wind directions currently, i think my api should be similar to yours which contains 16 wind directions. I remember I just copied and pasted a series of codeand in the smali with some changes of the wind pointer's coordinates. Also I've adjusted the size of wind pointer to fit my phone as well as the fonts.

my code here:

.class public final Ljp/co/evangelion/evaweather/h;
.super Ljava/util/HashMap;

# direct methods
.method public constructor <init>()V
.locals 10
#
const/16 v9, 0xa

const/16 v8, 0x26

const/16 v7, 0x1a

# const/16 v6, 0x1e
const/16 v6, 0x2c
# const/16 v5, 0x16
const/16 v5, 0x20
# const/16 v4, 0xe
const/16 v4, 0x14

const/4 v3, 0x0
#const/16 v0, 0xc
const/16 v0, 0x17

invoke-direct {p0, v0}, Ljava/util/HashMap;-><init>(I)V

const-string v0, "SW"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x2d

invoke-direct {v1, v2, v5, v3}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "W"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x5a

invoke-direct {v1, v2, v6, v4}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "NW"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x87

invoke-direct {v1, v2, v5, v5}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "N"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0xb4

invoke-direct {v1, v2, v4, v6}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "NE"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0xe1

invoke-direct {v1, v2, v3, v5}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "E"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x10e

invoke-direct {v1, v2, v3, v4}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "SE"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x13b

invoke-direct {v1, v2, v3, v3}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "S"

new-instance v1, Ljp/co/evangelion/evaweather/i;
#
# const/16 v2, 0x0
# invoke-direct {v1, v3, v4, v3}, Ljp/co/evangelion/evaweather/i;-><init>(III)V
invoke-direct {v1, v3, v4, v3}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
#
#
const-string v0, "SSW"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x17

# const/16 v3, 0x1a

# const/16 v4, 0x0

invoke-direct {v1, v2, v7, v3}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "WSW"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x43

# const/16 v3, 0x26

# const/16 v4, 0xa

invoke-direct {v1, v2, v8, v9}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "WNW"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x71

# const/16 v3, 0x26

# const/16 v4, 0x1a

invoke-direct {v1, v2, v8, v7}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "NNW"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x9d

# const/16 v3, 0x1a

# const/16 v4, 0x26

invoke-direct {v1, v2, v7, v8}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "NNE"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0xcb

# const/16 v3, 0xa

# const/16 v4, 0x26

invoke-direct {v1, v2, v9, v8}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "ENE"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0xf7

# const/16 v3, 0x0

# const/16 v4, 0x1a

invoke-direct {v1, v2, v3, v7}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "ESE"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x125

# const/16 v3, 0x0

# const/16 v4, 0xa

invoke-direct {v1, v2, v3, v9}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

const-string v0, "SSE"

new-instance v1, Ljp/co/evangelion/evaweather/i;

const/16 v2, 0x151

# const/16 v3, 0xa

# const/16 v4, 0x0

invoke-direct {v1, v2, v9, v3}, Ljp/co/evangelion/evaweather/i;-><init>(III)V

invoke-virtual {p0, v0, v1}, Ljp/co/evangelion/evaweather/h;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
#
#
return-void
.end method

Follow my value of the coordinates should be working fine as we are using the same phone. And, hope this is helpful to your working progress.

But I am just wondering if you are still using the database to output the data or you have got rid of it already.

in addition, the widget can sometimes update daily, at least work for me. But sometimes it wont respond. So weird.