ラベル SmartWatch MN2 の投稿を表示しています。 すべての投稿を表示
ラベル SmartWatch MN2 の投稿を表示しています。 すべての投稿を表示

2013年7月21日日曜日

SmartWatch mn2 が死亡。 dfu-util で復活を目論む

SmartWatch mn2 がうんともすんとも言わなくなりました。

そんな時、突然 Open SmartWatch Project なるものが。。。。
もしかしたらdfuでファーム焼き直して復活できるかも。。。。

と、言うわけで dfu-util を入れます。
macなのでmac-portsから。

dekuyou-no-MacBook-Air:dfu-util-0.7 dekuyou$ sudo port selfupdate
WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.0.4 installed,
MacPorts base version 2.1.3 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.1.3
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl
Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: shell command failed (see log for details)
dekuyou-no-MacBook-Air:dfu-util-0.7 dekuyou$ 
 新しいの入れなおせと言われました。

http://www.macports.org/install.php
からMountainLIONのmacportsをインストール(そういや、LION時代に入れたっきりだった)

dekuyou-no-MacBook-Air:~ dekuyou$ port version
Version: 2.1.3
dekuyou-no-MacBook-Air:~ dekuyou$  sudo port selfupdate
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.1.3 installed,
MacPorts base version 2.1.3 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version
The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated
dekuyou-no-MacBook-Air:~ dekuyou$ 

最新になりました。

dekuyou-no-MacBook-Air:~ dekuyou$ port search dfu-util
dfu-util @0.7 (cross, devel)
    Device firmware update (DFU) USB programmer
dekuyou-no-MacBook-Air:~ dekuyou$ 

dekuyou-no-MacBook-Air:~ dekuyou$ sudo port install dfu-util
Password:
Warning: The Command Line Tools for Xcode don't appear to be installed; most ports will likely fail to build.
Warning: See http://guide.macports.org/chunked/installing.xcode.html for more information.
--->  Computing dependencies for dfu-util
--->  Dependencies to be installed: libusb
--->  Fetching archive for libusb
--->  Attempting to fetch libusb-1.0.9_0.darwin_12.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/libusb
--->  Attempting to fetch libusb-1.0.9_0.darwin_12.x86_64.tbz2.rmd160 from http://jog.id.packages.macports.org/macports/packages/libusb
--->  Installing libusb @1.0.9_0
--->  Activating libusb @1.0.9_0
--->  Cleaning libusb
--->  Fetching archive for dfu-util
--->  Attempting to fetch dfu-util-0.7_0.darwin_12.x86_64.tbz2 from http://jog.id.packages.macports.org/macports/packages/dfu-util
--->  Attempting to fetch dfu-util-0.7_0.darwin_12.x86_64.tbz2.rmd160 from http://jog.id.packages.macports.org/macports/packages/dfu-util
--->  Installing dfu-util @0.7_0
--->  Activating dfu-util @0.7_0
--->  Cleaning dfu-util
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
dekuyou-no-MacBook-Air:~ dekuyou$  
dfu-util がインストールできました。
dekuyou-no-MacBook-Air:~ dekuyou$ dfu-util
dfu-util 0.7
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Error: You need to specify one of -D or -U
Usage: dfu-util [options] ...
  -h --help Print this help message
  -V --version Print the version number
  -v --verbose Print verbose debug statements
  -l --list List the currently attached DFU capable USB devices
  -e --detach Detach the currently attached DFU capable USB devices
  -d --device vendor:product Specify Vendor/Product ID of DFU device
  -p --path bus-port. ... .port Specify path to DFU device
  -c --cfg config_nr Specify the Configuration of DFU device
  -i --intf intf_nr Specify the DFU Interface number
  -a --alt alt Specify the Altsetting of the DFU Interface
by name or by number
  -t --transfer-size Specify the number of bytes per USB Transfer
  -U --upload file Read firmware from device into <file>
  -D --download file Write firmware from <file> into device
  -R --reset Issue USB Reset signalling once we're finished
  -s --dfuse-address address ST DfuSe mode, specify target address for
raw file download or upload. Not applicable for
DfuSe file (.dfu) downloads
dekuyou-no-MacBook-Air:~ dekuyou$ 

で、続いて How to flash alternative firmware を進めていきます。

とりあえず、smartwatch.dfu を SmartWatch firmware (standard) からゲット

smartwatch 電源長押をしながらmacにケーブル接続をしてDFUモードに。。。。。。。。。。。。とおもったらここまで来てDFUモードにすらならない死亡状態であることが判明。。。。。orz

2013年3月22日金曜日

Gmailのintentがまた変更になった。

Gmail が 4.3 にアップデートされました。そして毎度のことですがGmailからのintentが変更されており GmailNotifier に問題が発生しました。


Gmail4.3では4.2.1とそれ以前のintentが合わせ技で発生する模様。

こんな感じです↓
03-21 01:02:22.021: I/Gmail(10383): Schedule indexing for dekuyou@gmail.com
03-21 01:02:22.341: I/Gmail(10383): Sending notification intent: Intent { act=com.android.mail.action.update_notification typ=application/gmail-ls (has extras) }
03-21 01:02:22.349: I/Gmail(10383): Sending provider changed intent: Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://gmail-ls/unread/^i (has extras) }
03-21 01:02:22.497: I/Gmail(10383): Sending notification intent: Intent { act=com.android.mail.action.update_notification typ=application/gmail-ls (has extras) }
03-21 01:02:22.497: I/Gmail(10383): Sending provider changed intent: Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://gmail-ls/unread/^iim (has extras) }
03-21 01:02:22.544: W/Gmail(10383): Showing notification with unreadCount of 2 and unseenCount of 2

今回のこのGmailの変更で、GmailNotifier側で拾ってるbroadcast に、

extras.getString('account') == null 
な intent が引っかかるようになっていました。

なんでしょうね、このintent。。。。。。




2013年2月3日日曜日

SmartWatch MN2 の電源が入らなくなった → 修理出した → 新品が送り返されてきた


電源が入らなくなってからサポートセンターに電話して修理の出し先聞きました。
修理センターの住所をメールで送ってくれとお願いしたのですが、口頭かFAXしか対応できないと。。。。。
結局FAXで住所や手順の説明を受け取りました。
しかしFAXだなんて。。。。。。

電源が入らなくなった本体を送付したら3日程で特になんのこともなく新品が送り返されてきました。

開封の儀、通算2回目です。
電源ケーブルももちろん入っていました。
このケーブル特殊なので2個目を無料でゲット出来たのはラッキーです。

さっそくファームのアップデート
完了。

あとは充電したら以前どおりに戻れます。

2012年12月5日水曜日

Gmailのintentが変更になった。(ICS以上でGmailNotifierが動かない)

Google Official の Gmail アプリ、ICS以上のOSだとバージョンが4.2.1にあがったようです。

GBだと2.3.6でした。





で、発行されるintentが変わったようです。
以前は
06-12 20:51:00.550: INFO/Gmail(10262): Sending notification intent: Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://gmail-ls/unread/^iim (has extras) }
06-12 20:51:00.589: INFO/Gmail(10262): Sending notification intent: Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://gmail-ls/unread/^i (has extras) }
な感じだったのが、

12-05 00:53:31.026: I/Gmail(10466): Sending notification intent: Intent { act=com.android.mail.action.update_notification typ=application/gmail-ls (has extras) }
12-05 00:53:31.127: I/Gmail(10466): Sending notification intent: Intent { act=com.android.mail.action.update_notification typ=application/gmail-ls (has extras) }
こんな感じになったようです。

とりあえず、ICS以上の端末でGmail Notifier が動作しなくなったのは把握しました。。。。。。。orz

近々修正します。。。。(自分が不便ですし。。。。




2012年5月2日水曜日

Gmail Notifier 2 Smart Extras™ がランキングに。。。

ヒックリしたんで、メモがてら。。。。

友人から連絡がありまして、

おお、確かに215位。。。。

と思ってPCで確認したらすでに238位に下がってました。。。。w

それでも、嬉しいですね :)

まだ、5スターもらえないこともあるので、頑張っていきたいとおもいます。

2012年4月18日水曜日

Gmail の intent 取得と端末の断片化

Liveviewで、poor Gmail Notifier をマーケットにリリースしたのが、2011年の8月、今月 SmartWatchの Gmail Notifier - Smart Extras™ も無事リリースとなりましたが、Gmail Notifier - Smart Extras™ をリリースして衝撃の事実。

なんと、元々Gmailのintentを拾う部分の作りは同じなのですが、Xperia arc ではintentを拾えていないことがわかりました。
poor Gmail Notifier リリースからずっとです。
また、x10miniなどのAndroid2.1端末も拾えてなかったようです。

とくに arcは衝撃的でした。
そんな変な端末だとは思っていなかったのですが。。。。。。

結論から行くと下記のようにReceiverを仕掛けておけば、Gmailのintentはもれなく拾えていそうです。(今のところ私の知る限り。



<receiver android:name=".GmailReceiver" android:label="receiver">
            <intent-filter>
                <action android:name="android.intent.action.PROVIDER_CHANGED" />
                <data android:scheme="content"
                    android:host="gmail-ls"
                    android:pathPrefix="/unread/^i"
                />
            </intent-filter>              
            <intent-filter>
                <action android:name="android.intent.action.PROVIDER_CHANGED" />
                <data android:scheme="content"
                    android:host="gmail-ls"
                    android:pathPrefix="/unread/^i"
                    android:mimeType="*/*"
                />
            </intent-filter>                      
            <intent-filter>
                <action android:name="android.intent.action.PROVIDER_CHANGED" />
                <data android:scheme="content" android:host="gmail-ls"
                    android:path="/unread/^iim" />
            </intent-filter>         
        </receiver>
古いAndroid端末は、mimeType付きのintentが飛んでるのはぐぐると出てきます。
また、path に関して /unread/^i と /unread/^iim の2種類が飛んでるのもググると出てきます。

ですが、arc はまさかの /unread/^iim のみなのでした。

通常Android2.3ですと、 /unread/^i が出てるはずなので、ずっとこれを拾っていました。
mimeType はずっと気付かないでいましたが、まぁこれは古いAndroid(2.1?)の話しなのでよしとします。
実際、HTC DesireHD をメインで開発していたのですが、/unread/^i で拾えます。
GalaxyNexusも拾えます。また、ユーザさんとやり取りした感触だと、arc以外の Xperia の皆さんも拾えていそうです。
なぜか、arc だけ /unread/^i は出ず、 /unread/^iim のみ出るようです。
(もしかしたらacroもなのかな???)

で、そんなこんながわかりましたので、全部拾ってみました。
すると、今度は通常  /unread/^i  /unread/^iim  両方でてるので、2重に通知してしまう問題が勃発。(arc は^iim だけなので1回の通知になったのでしょうけれども。。。)

^i が拾えた端末では、 ^iim の通知は無視をするロジックをいれて、現在に至ります。

if ("^^unseen-^i".equals(extras.getString("tagLabel"))){  
Editor e = mSharedPreferences.edit();
e.putBoolean("tagLabel", true);
e.commit();
Log.d("tagLabel ^i isTrue ");
}
if (mSharedPreferences.getBoolean("tagLabel", false)
&& "^^unseen-^iim".equals(extras.getString("tagLabel"))) {
Log.d("tagLabel ^iim && ^i isTrue ");return; // }
こんな感じ。。。。

断片化たまらんわ、と言うお話でした。


2012年4月12日木曜日

Gmail Notifier - Smart Extras™ , 通知ができるようになりました。

Gmail Notifier - Smart Extras™
Gmail Notifier - Smart Extras™ ですが、どうもEmulator上で動かしていたテストバージョンは、全体のイベントに通知されていなかったようで、海外の方々から「うごかねーよ」と何件か問い合わせいただいてました。

今日、ついにSmartWatch が届きましたので、実際に動作確認したところ、たしかに通知されません。
イベントはたまるんですがね。


で、なんじゃろなとゴソゴソしていると
Notification.EventColumns.EVENT_READ_STATUS = true
で登録していました。orz

つまりイベントに通知に行ったけど、既読だからイベントに表示されなかったと。。。。
いや、既読でも未読数出して既読もイベントで読めたって良いじゃんとか思ったり。。。Liveviewののりでねぇ。。
それに既読で登録する意味あるのかいな、SmartWatchですよ?ねぇ?!
通知してなんぼの 。。(ry
それ以外のところは、Emulator上で確認していた動作通りでしたので、まぁ簡単に修正できてよかったです。

そんなこんなで、無事 Gmail Notifier - Smart Extras™  は通知ができるようになりました。

只今、本文のSummaryを通知する Gmail Notifier 2 もあわせて作成中です。

2 はいつもののりで有料です。ジュース一本おごるくらいのノリで買っていただけると有りがたいです。

さて、Gmail Notifier は順次動作などブラッシュアップしていきますので、兎にも角にもよろしくお願いします。


2012年4月10日火曜日

SmartWatch MN2 ついに国内発売


ついに発売されました。SmartWatch MN2
10:00くらいから販売開始され、直後はサイトが不安定でしたが、本日無事注文することが出来ました。
よかったよかった。
14:00くらいには売り切れたようで、いったいSONYはどのくらいの需要があると見込んでいたんでしょうね?
Liveviewが余りまくって、SmartWatchの在庫調整も慎重になったんじゃないかなんて思っちゃいます。

で、18:00頃いは発送のメールが来たので最短11日に手にすることができるかもしれません。

手にしたら速攻でGmail Notifier の調整をするつもりです。

はやく来い来い。


とそんな訳でタイトルがついにSmartWatchに変わりましたw



2012年3月4日日曜日

ICS では、Liveview も smartwatch も共に動作しないかも。。。。

この週末、Galaxy Nexus を手に入れたので、早速 Liveview と Ice Cream Sandwich(AndroidOS 4.0) の相性を確認してみました。 なんせ、Eclair では Bluetooth 接続がうまくいっていたものが、GingerBread では接続の度に再ペアリングを要求されると言う謎の現象が発生していたので、Ice Cream Sandwich でもなんかあるんじゃないかと。。。。

で、ペアリングですが、問題ありませんでした。

よかったよかったと、思ってさて動作確認と思ったら、プラグインが Liveviewアプリケーションで認識されていません。

嫌な予感がしたので、smartatchのEmulatorも確認。見事にextensionが認識されていません。
これは困りました。

※2012/04 smartwatchはその後LivewareのアップデートでICSでも稼働することを確認しました。


ちなみに、Liveviewアプリケーションに標準で付いているMessageの通知は動作していました。
とにかくpluginとの連携がOSが変わったことによって、出来なくなったみたいです。

これじゃ、使い物になりません。
特にsmartwatchは標準付属のアプリはなくなって全てextensionとして追加する形式みたいですしね。。。。。


こういうアプリ連携はAndroidではどうやって認識しているんでしょうね?
詳しくは知らないのですが、その方法がICSではできなくなったってことなのかなと思います。

SonyEricsson 2011年モデルはICSバージョンアップ対象みたいですし、ほんとどうなるんでしょう。。。。これ。。。。

2012年2月12日日曜日

Smart Extras™ 、Smart SDK で謎の例外


なんでしょうねぇ。。。 たまぁーにでてるんですよねぇーーー。
エミュレータだからかなぁ????
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1096)
Caused by: android.database.sqlite.SQLiteException: database is locked
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:158)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:114)
at android.content.ContentProviderProxy.bulkQueryInternal(ContentProviderNative.java:330)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:366)
at android.content.ContentResolver.query(ContentResolver.java:250)
at com.sonyericsson.extras.liveware.extension.util.notification.NotificationUtil.querySources(NotificationUtil.java:517)
at com.sonyericsson.extras.liveware.extension.util.notification.NotificationUtil.getExtensionSpecificIds(NotificationUtil.java:272)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.registerOrUpdateSources(RegisterExtensionTask.java:258)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.registerOrUpdateExtension(RegisterExtensionTask.java:157)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.doInBackground(RegisterExtensionTask.java:114)
at com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.doInBackground(RegisterExtensionTask.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 4 more

2012年2月11日土曜日

Gmail Notifier - Smart Extras™ 、SmartWatch の Gamil 通知 をマーケットに公開しています。

Gmail Notifier - Smart Extras™
Gmail Notifier - Smart Extras™ をマーケットにコミットしました。 http://goo.gl/Ac8Pt

とりあえず、とにかく「Sony Ericsson "SmartWatch Meeting 2012"」までにコミットしておきたかったのです。。。
私は残念ながら関西在住なので参加できませんが、きっとmeeting で、smartwatchを先行して手に入れた方が必要としてくれるはず。。。。使ってみてくれるはず。。。。。





基本的に仕様は、Liveviewの poor Gmail Notifier と同様で、各アカウントのパスワードを入れた場合、着信があると、GmailのAtomFeedを読みに言って、FromとSubjectを通知する仕掛けになっています。
パスワードが設定されていないアカウントや、通信状態に問題があってAtomFeedを読めない場合は、着信があったことと未読数のみの簡易通知になります。

ちょっと気になったのが、smartwatch はBluetooth3.0対応と言うことで、2.1に比べて通信速度があがっているんだと思います。
しかし、現状発売されているスマホはすべてがBluetooth3.0に対応しているわけではありません。
ハード面での進化もあり、smartwtach側の表示がTimeScape風にできる(背景画像を送れる)んですが、これ、2.1だとどうなんだろう???と思っています。
通知されてなんぼ、のウェアラブルデバイスだとおもっていますので。

あと、背景画像を設定すると、文字が見にくい。。。。


とかなんとか思いにふけっていますが、正直実機をさわらないことには。。。。

あー早くほしい。。。。。

2012年2月1日水曜日

poor Gmail Notifier Extension for SmartWatch


poor Gmail Notifier Extension for SmartWatch
と言う訳で、SmartWatch でも当然スマートなGmailの通知はまずは必要だろうということで、LiveView版からの移植作業をしています。

とりあえず、エミュレータでの動作確認は完了。

しかし、無骨なエミュレータですw

全く実機のイメージがつかめません。



ところで、SmartWatchのSDKですが、Liveviewのものとは全く互換性がありません。

Smart Extension SDK      LiveView micro display SDK


よって、LiveViewのPluginをSmartWatchで利用したいと言う場合、移植が必要になります。めんどくさい。

今回SmartWatchのSDK、Notification部分を見ることになりましたが、Liveviewと違って、アプリがServiceとして常駐していなくてもブロードキャストで起動されて動作するくさいです。
これはタスクキラー系アプリにkillされるとあっさり動かないLiveviewから大きな進化です。

Bluetoothの接続部分はExtension側とは切り離されているようで、ソニエリが用意しているcontentProvider(DB)へ書きこむと、SmartWatchに通知が行くようになっている雰囲気です。
これも、Bluetoothが不安定な状態でのアプリのフリーズなんかが起こりにくそうなので、うんうんな感じになっています。

なんだかAndroidの特徴フル活用な仕掛けになっているように感じますね。(良い事です。)

ま、想像はふくらみますが、何にしろ実機を手に入れないことには・・・と言うところです。