吹友吧-智能社区

 找回密码
 加入我们

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
森乐Senwater-专业净水专家,整机美国原装壁挂式新风,洁净健康帮手有消毒功能的原装空气净化器(FDA认证技术)
查看: 1320|回复: 4

VEER刷机时一直检查电池电量,不知为何?

[复制链接]
发表于 2012-7-12 18:41 | 显示全部楼层 |阅读模式
本帖最后由 phil_rem 于 2012-7-13 00:48 编辑 ( M  |1 W& [; ?2 v) o3 h
6 s# p) P. V- G8 ^

: q0 Q5 C, I- W& P" a5 l: o  |  q& g5 l/ u( q4 e6 f
满电的Veer刷机一路next,到最后一步,然后一直提示Battery Charging,有基友提示可能电池故障,  j  S8 g' g7 Q  o9 ]: S

1 r  \+ T3 C" i7 I找了台可以正常刷机的小v,拆了电池换上后问题依旧,( f3 x# I1 P' g

$ b: f( r+ K  P  J* z更杯具的是原来正常的小v刷机也这样了(手机可正常使用,只是无法刷机)
8 I4 j0 y3 a, m: `4 w9 `! r6 Z
" v" [+ \/ d( k% S  E# T1 O用8%12%修复工具修复无效,. S8 U7 P; j* b% }. q0 _
8 G4 ~/ c  S$ W" k
目前两台机器均无法安装软件,商店也不知道为什么一直在转圈圈,想下个preware也没机会了。。。。
/ a* v# }4 S; C3 x$ e
: E6 d; x/ O; I2 k- U# B& ], {之前好好的一台被我弄坏了,悲剧啊。0 O, E. t0 n& P/ C, a
' c5 |3 w- p8 t- F" t
现在各种抓狂~  
" e/ h) E, n6 F* M" X) Y( A9 p9 A0 G" E  A
跪求解决方案,小礼物送上~) @/ d0 N% y1 w* s
7 r! N& E, E# Q6 x

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
回复

使用道具 举报

 楼主| 发表于 2012-7-12 22:51 | 显示全部楼层
诶,没人鸟我。。。。  看来国内不好混啊,去webosnation看看~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-13 00:02 | 显示全部楼层
// Decompiled by DJ v3.12.12.96 Copyright 2011 Atanas Neshkov  Date: 2012/7/12 23:51:59
# ]* m' H7 z% N// Home Page: http://members.fortunecity.com/neshkov/dj.html  http://www.neshkov.com/dj.html - Check often for new version!6 Z5 n7 J! T, l! d
// Decompiler options: packimports(3) 4 E+ v; I$ U2 Y7 `$ G
// Source File Name:   ChargeBatteryStage.java
0 `/ |  l1 j4 j) d# L3 Z4 i6 [2 N1 \. |* l! Q
package com.palm.nova.installer.core.stages;
0 v9 K( U/ Q- c2 ]
4 H. M1 Y& @/ i# ]: B+ o: Rimport com.palm.nova.installer.core.*;- ^7 W( {% J" L; X) x
import com.palm.novacom.*;
' v: E( k8 l1 ?) Y% H& p5 limport java.io.IOException;7 A! @/ k! t# k0 X5 f, C

+ d, w* V) ^, N; K' v" W// Referenced classes of package com.palm.nova.installer.core.stages:
" l1 M/ {; l# F//            BaseStage, GoIntoUpdateModeStage
- {( o/ T& |7 W6 \2 F1 H5 }; r& `5 L  H7 I6 d/ b
public class ChargeBatteryStage extends BaseStage
, u. e* l$ g1 q" ?    implements IInstallerStage
8 p6 W' s8 V$ ?' b* f! v6 W{
$ h/ t, f  a0 s" w4 i$ l  k
% }" g* c0 b7 e3 I! y    public ChargeBatteryStage(INovacomDevice device)& |9 k& N% c- K( ?
    {, B2 F# t: a7 s* G
        jobId = null;
5 i$ ^/ \0 Z' q; O        progress = null;
6 `; m5 @* G1 v; S2 k, x4 \  ?        currentChargeLevel = 0;6 g( k1 e9 _) \9 ]) f$ Q
        this.device = device;
' m# N8 E0 s& Z  R& P9 {3 D6 |0 C    }2 A7 s( V8 {) R  I% U. a1 x

* `! b+ K$ b1 r1 A: [    public String toString()
- h3 {, }5 U1 @: j) r- L% \    {* ?2 g' o5 o( J% T0 _
        return "Battery Charger";
) ~6 Y$ h4 W/ e: ~/ G9 Q( f    }; r9 X* I- I) ?" {2 q- w

1 a* G0 j/ m- ^' V# g$ F4 O! Y3 Q( |    private void chargeBattery()
* j; S4 `3 u! w7 W9 b        throws NovacomException, IOException
( Y7 v  }3 I) A- \0 q    {$ L1 D# ^2 W& [1 f+ I; Y
        INovacomStream stream = device.runProgram("", null);
5 D; j6 l, I' r# I+ V" e        String command = (new StringBuilder()).append("charging enable ").append(REQUIRED_POWER_PERCENTAGE).toString();0 N% ^4 m, t+ U% m& ~* w
        byte bytes[] = command.getBytes("US-ASCII");
3 Q2 Q  {* [1 N  [4 C4 ?- N        stream.write(bytes);: g, }& l3 A' H
        stream.closeOutput();
" ?- h5 B% L8 T8 A' G        String streamReturn = stream.readLine();
9 {0 _2 E, X- `* Y7 {: \        do
& S8 n5 ~8 T4 L% R$ j) T# r        {
1 \0 d; ?; o9 e& Y4 ], I            streamReturn = stream.readLine();: G+ n- P7 i& G* f
            if(streamReturn == null)9 ~% R& z: w; T6 z! Y' F, j* q1 P
            {2 E3 m# N, w9 E; ]6 t9 m0 I' I
                progress.commentOnJob(jobId, "stream interupted");( ?  s1 y& X! _6 I! Z' Y
                throw new NovacomException(-1, "stream interupted");) d, R% L. f7 K
            }5 B9 F- ?7 E# X! o7 s7 G0 m2 X
            if(streamReturn.length() == 0)4 a* _4 R% b4 Y) C
            {$ w. O9 B) |' N+ u6 f( U3 d/ [
                progress.commentOnJob(jobId, "power charged up");
+ C8 {7 d; R; O8 B                break;$ d& N" q6 q" M3 D5 ]
            }
) \4 e. ]2 S: C% j3 @! H5 ?5 Q            int start;0 y8 A+ B: q, w$ {3 c( d+ S
            int end;
0 }" w: x# `5 ]5 J, P) p            if((start = streamReturn.indexOf("p=")) >= 0 && (end = streamReturn.indexOf(" ", start + 2)) >= 2)
9 s  t4 S+ X9 Y# G$ T            {: {! N7 i4 b- ]' J! r2 e/ ]
                start += 2;
  @; }! e7 A, c2 O0 {                String strReadBatteryPercentage = streamReturn.substring(start, end);
" [9 X& c& U- K: b0 v& V- e                try  u/ O6 p5 a% K1 b$ ?
                {" e  E6 T( r) l' s! ^3 Z
                    int readBatteryPercentage = (new Integer(strReadBatteryPercentage)).intValue();! L9 o6 Y& ?) A! v) {
                    if(readBatteryPercentage > currentChargeLevel)$ `( b4 f- v! l. B
                    {
; P; B; [+ V. U                        currentChargeLevel = readBatteryPercentage;/ b" i, x: G$ h
                        progress.updateJob(jobId, currentChargeLevel);( X2 V: {# V0 w. P3 @
                        progress.commentOnJob(jobId, (new StringBuilder()).append("battery percentage changed: ").append(currentChargeLevel).toString());2 {2 ^+ `! g6 O5 V( k; d! O
                    }
( d' k. U/ f0 F6 X2 [5 A* D- y                    Thread.sleep(500L);
' Z+ ^- o$ h  L. {1 P: p$ M4 N/ s3 L                }
: N& i( k4 i- W2 w  ^                catch(NumberFormatException e)# E3 m" b) i" q) V
                {; ^$ O# b3 {% j8 Z
                    progress.commentOnJob(jobId, (new StringBuilder()).append("+++++").append(streamReturn).append("-----").toString());
( [1 ^% g5 T, p                }+ R4 C) z; ?3 {* F5 M7 `$ c; p
                catch(InterruptedException e) { }
4 M0 K5 U% ?4 D            } else! x+ N* B$ \/ \8 w  H4 G6 n
            {
1 C  y; x/ ], X% t2 T( A                progress.commentOnJob(jobId, (new StringBuilder()).append("+++++").append(streamReturn).append("-----").toString());
- ]  ]! N8 t+ t& X1 Y2 J- y3 d( X  p            }
# [: ~& G2 X: y            stream.flush();
8 G, X$ }1 K, s        } while(true);2 w2 @. X( i0 L4 ~$ I' `, g
        stream.close();
4 _% I. H+ D$ }4 I9 m; _    }
0 b- u* w- c' Z( `& _+ U
5 p; C5 l& J; C8 Z) b2 D% V: I    public void run()2 G) p6 o$ @, t8 C
        throws NovacomException, IOException
" P& I+ [8 n* j    {. s7 R& Q$ v3 [/ F! K; A/ Q/ y
        progress = getProgressHandler();
/ V0 V( u3 \% f  Z9 ^" ?* K; ~        jobId = progress.startJob("Battery Charger Stage", 100);4 ~5 E& G' k+ |5 |; H$ x) J/ S
        if(device.getState() != com.palm.novacom.Novacom.DeviceState.BOOTLOADER)1 }" |2 T) L- K' `+ M3 K
        {
( `% D- X8 X* m! _            GoIntoUpdateModeStage intoUpdateMode = new GoIntoUpdateModeStage(device);
+ B5 `! V. n& G% L. @0 t4 c7 {            intoUpdateMode.run();) u' C; W+ r* o
        }$ V* y/ r: X1 V
        BootieUtilities bootie = new BootieUtilities(device);' d; y  j6 @" }) M
        int currentPercentage = bootie.checkPowerStatus().intValue();4 p# k1 \; F# W9 i/ _1 D
        if(REQUIRED_POWER_PERCENTAGE.intValue() > currentPercentage)
! S& ]. @( M/ Z+ ?( m: \1 F        {  g6 B" A' j! Q
            progress.commentOnJob(jobId, (new StringBuilder()).append("Battery at ").append(currentPercentage).append("%").toString());
  J) Y& v* w! h# v# ]) n            int count = 0;) ^' _, W9 [: o+ k
            do( y2 F/ L/ O! o
            {
' i1 V3 Q0 j, y/ X8 g/ G  x                progress.commentOnJob(jobId, "Battery Charging Started");; f* O; p. j; C, k5 L! s
                progress.commentOnJob(jobId, (new StringBuilder()).append("Charging to Sufficient Power (").append(REQUIRED_POWER_PERCENTAGE).append("%), this may take a couple of minutes").toString());9 X: H+ C* P$ W6 m0 S
                chargeBattery();& ]0 l- i" M2 ]
                if(++count > RECHARGE_RETRY_COUNT.intValue())9 j0 Y: C* D% y. \
                    throw new NovacomException(-1, "failed to charge batttery");0 s) J8 W! C8 T3 m
            } while(REQUIRED_POWER_PERCENTAGE.intValue() > currentChargeLevel);
+ E5 e1 K3 C- t. Q1 x4 Q/ z        }3 t1 C. @' s, @7 w# Q( ?
        progress.endJob(jobId);$ _' H: _. [: J: [, b, s
    }% F, @3 K; f/ \& R, v& n0 F8 m
6 F4 z# r6 N6 @8 @9 p
    private static final Integer REQUIRED_POWER_PERCENTAGE = Integer.valueOf(25);; I' }  O/ n% \8 T
    private static final Integer RECHARGE_RETRY_COUNT = Integer.valueOf(5);) Y; y; E5 a3 T! o! |" M' `! [
    private final INovacomDevice device;
: U( y3 V0 I, Y. L' F# G    private Object jobId;! \( W) C- h# E9 X% e
    private IStageProgressReporter progress;
" r* ?3 f! y! f2 ~    private int currentChargeLevel;# E/ {+ {$ f! E5 X0 ]

' W! \# g! e% U0 k}! ?: f0 ?( p9 g( l2 X4 U7 H" R
! t" Q2 f5 K+ L
. f5 J% u. f& u/ S/ P2 |
求编译~~~~~~~~~~~~~~~~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-13 00:42 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x
回复 支持 反对

使用道具 举报

发表于 2012-7-13 01:04 | 显示全部楼层
phil_rem 发表于 2012-7-13 00:42
+ l3 w9 y1 H- r/ w
如果目的是为了不让充电,那么把下面的代码注释掉就可以了。
9 \1 I( Z$ J2 G$ x6 W. Y* H# {7 N- V& H1 n( S0 {+ ~
原来是这样:; {+ h9 ?( U! `9 h
BootieUtilities bootie = new BootieUtilities(this.device);
' c4 W! o- [5 p6 A9 A    int currentPercentage = bootie.checkPowerStatus().intValue();
5 u; j6 ]7 Z# F3 X    if (REQUIRED_POWER_PERCENTAGE.intValue() > currentPercentage) {3 I! T0 Z" W8 q+ F3 W  z/ }: Y
      this.progress.commentOnJob(this.jobId, "Battery at " + currentPercentage + "%");
4 \5 f- h) g/ E. S, E* G      int count = 0;
4 h* s, x2 x/ N: `      do {
8 X5 \8 f- I) h        this.progress.commentOnJob(this.jobId, "Battery Charging Started");
) r' s- m9 S: [# _) h        this.progress.commentOnJob(this.jobId, "Charging to Sufficient Power (" + REQUIRED_POWER_PERCENTAGE + "%), this may take a couple of minutes");
( b" s; j. J9 b) |- R        chargeBattery();
% Q( ^0 U6 [. K: S9 m9 I5 k
9 d& t6 J0 B* Z* B+ z) _        count++;/ g! O4 N; w, K
        if (count > RECHARGE_RETRY_COUNT.intValue()). z7 b+ {( `4 C" X
          throw new NovacomException(-1, "failed to charge batttery");- O. b- N4 b( l9 A* h
      }* q* @0 p$ S$ f) ~
      while (REQUIRED_POWER_PERCENTAGE.intValue() > this.currentChargeLevel);* Y1 h  \1 E7 Q
    }
1 d# i4 o' B! b! q/ l
0 j5 r8 \6 U3 w    this.progress.endJob(this.jobId);
) A. q* I+ `' G0 G! z) [4 i4 Y$ K3 X  f  ^3 c+ ^
注释掉变这样:
$ t0 R, b# j- C; J. ] BootieUtilities bootie = new BootieUtilities(this.device);+ j3 e, e0 }: Q2 h/ `/ N
    int currentPercentage = bootie.checkPowerStatus().intValue();
* w9 u7 @. p) J: @9 U/ `    /*if (REQUIRED_POWER_PERCENTAGE.intValue() > currentPercentage) {/ _- o* X9 ?# R3 |8 m5 a
      this.progress.commentOnJob(this.jobId, "Battery at " + currentPercentage + "%");
- V: Z( ?. C- j/ h- E      int count = 0;
) ]" E, D, F* h      do {6 {/ R; k8 d& s  \1 R! p# W
        this.progress.commentOnJob(this.jobId, "Battery Charging Started");
; K, i# X) L0 n$ ~; E3 }3 l        this.progress.commentOnJob(this.jobId, "Charging to Sufficient Power (" + REQUIRED_POWER_PERCENTAGE + "%), this may take a couple of minutes");( v" {& v9 x* o( [1 N" n$ i  ]
        chargeBattery();
$ A( ?. D9 c) [, A8 c! \' t8 o4 a: R: R7 a6 j# [
        count++;
2 \9 c: h- q3 L, I1 T        if (count > RECHARGE_RETRY_COUNT.intValue())" T; C  ]$ |' k( M
          throw new NovacomException(-1, "failed to charge batttery");& M4 E. V- p0 J1 c( S
      }
# J" F; j5 C0 Y! a      while (REQUIRED_POWER_PERCENTAGE.intValue() > this.currentChargeLevel);/ R# |+ j7 r; R# _; [" ?
    }*/  [. O" H# z3 O3 c3 |8 g6 z3 R* V8 W
% G0 @6 E/ l3 R; [0 y5 l
    this.progress.endJob(this.jobId);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

森乐Senwater-净水专家,整机美国原装
全屋净水方案技术平台: 提供全套民用净水方案咨询

QQ|小黑屋|手机版|Archiver|吹友吧 ( 京ICP备05078561号 )

GMT+8, 2020-7-14 20:12 , Processed in 0.158817 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表