ラベル お知らせ の投稿を表示しています。 すべての投稿を表示
ラベル お知らせ の投稿を表示しています。 すべての投稿を表示

2014年9月30日火曜日

え?

GooglePlay、開発者が住所登録しなきゃダメなの?

ふーん。
個人だから絶対に嫌。

という事で、有料アプリ抹殺されるかもしれませんのであしからず。

というか、リジェクトアプリがもうそろそろ限界かも。
不本意だけど、悪質な開発者みたいになってる。
このアカウント削除されたらきついんだよなぁ。

移行するか。
めんどくせぇなぁ。

このアカウントでアプリ登録するんじゃなかった(涙)

有料アプリだけか!
分かった、とりあえず、落ち着くまで有料アプリ公開やめる!
ばいなら。

2014年9月19日金曜日

[XClip]わかった!!

さっき怪しいところログ出すようにしてリリースしたら、アリさんから早速連絡が来たよ!

結果・・・・

凡ミスでした(汗)

「貼り付けメニュー」がONになっていないと長押しで落ちるという。
全ONにしてたから気づかなかった。

とりあえず、ついさっきだからもっかいアップしちゃおうかな。

ふぅ。
これでひとまずコイツの開発が手を離れる。

めでたしめでたし。

※このブログのコメントでもらったFacebookMessengerのチャットヘッドでリストが出ない件

一覧はダイアログで作っているんだけど、ダイアログを表示するためにはコンテキストが必要。
コンテキストはいくつか種類がある。
BaseContext(大ボス)
 └ApplicationContext(アプリ単位)
   ├ActivityContext(画面単位)
   └ServiceContext(サービス単位)

チョットややこしいんだけど、ダイアログ表示には上のうちActivityContextが必要。

超ざっくりいうと、画面が無いとダイアログ出しちゃダメだろ?って事だと思う。
まぁ、そうだよね。
スマホいじってたら、いきなり悪意あるサービスがダイアログ出してっていうのが出来ちゃうのって、想像しただけでちょっと怖いよね。

んで、今回はViewからContextを取得している。
Viewに格納されるContextはActivityContextかServiceContext

で、あのチャットヘッドはオーバーレイで作られているのでサービスで実装している。
つまり、ServiceContextが渡ってきてる。

ダイアログ出せません。

ボーン。

駆け足で書いちゃったし、あんまりこの辺詳しくないので調べながら書いたので、間違っていることも多々ありそうだけど、ちょっと無理そうだねって事で。
とりあえず、落ちなくしたから良いっしょ!(適当)


まぁ、負けじとオーバーレイでリスト作って出しゃぁ良いじゃんって話なんだけれども。

2014年9月18日木曜日

[XClip]マーケットリジェクトw

そんなこんなしてたらマーケットからリジェクトされた。
寄付リンクが癇に障ったみたい。

墓場に置いておくよ。
http://toramamma.blogspot.jp/p/xclip.html

[XClip]バグつぶし

アリさんって方からバグレポ貰って対応してたんだけど、全然直らないくさいw

ごめんアリさん。

リリースが続いたから、簡単な履歴を。
そして自分の頭の中を整理する。

---さかのぼること2か月前---

Xposedモジュールは各アプリの中で各アプリプロセスとして動作するから、xclipのリソースが見えない。
みえる様に出来るのかもしれないけど調べてない。
だから、クリップ履歴のデータをSDカードに保存するように作っていた。
これは、アプリ固有の領域(/data/data/pacakage)が見えないから。
で、SDカードに保存して読み込みしてた。
 →この状態がv1.0(2個目のv1.0は長押し以外も対応しただけ)


自分で使ってて、なんかのアプリで一覧でないなぁ~って思ってログ見てたら権限無いよ~って書いてあって、何かというとアプリの権限もそのままに利用するから、「android.permission.WRITE_EXTERNAL_STORAGE」の無いアプリは読み書きできなくて一覧が出なかった。
あーこの辺も各アプリプロセスとして動作するんだなぁっって事で、AIDL経由でXClipプロセスで読み書きするようにした。
これで、XClipの「android.permission.WRITE_EXTERNAL_STORAGE」権限で読み書きできるようになったので、一覧が出るようになった。
あと、コピーが不完全だったのでClipboardManager.setPrimaryClipだけじゃなくてClipboardManager.setTextもフックするように修正。
 →この状態がv1.3

でこれをアップしたあたりでアリさんから連絡。
なんかクラッシュすると。


で、調査してたら、10回に1回くらいの割合でリストが出ないことがあった。
これのことかなぁと思って調べたら、AIDLのバインドが終わっていない間に処理しようとしてリストが取れない事があった。
で、これを修正。
 →この状態がv1.4

で、アリさんからまだ駄目だと。


また調べてたらandroid4.4からSDカードの読み書きがいろいろ制限あると。
これかな?と思って、AIDL経由にしたし、アプリ領域使おうという事で、各アプリに割り当てられてる領域に保存するように修正。
 →この状態がv1.5

で、さっきまだ駄目って。。。
おかしいなぁと思って、クラッシュってどういうの?
って聞いたら、

アプリで長押し(入力エリアじゃなくても)すると、アプリが死ぬんだって。
マジで?
そんなの出たことないですぜ。

1.0は出ないんだって。
マニフェストなおし間違って1.0が2個あるんだけど、大きな修正は1.3で入れたからそこかな。

ていうか、1.0→1.3の修正って結構重要なんだよね。
そもそもAIDL経由にしないと正しく動かないしなぁ。

もうちょっと調査&バグフィックスリリース続くかもしれないけどごめんね。

2014年9月10日水曜日

[XClip]バグフィックス

上手くコピー出来ないバグがあったので対応。
しかし、、マーケットの仕様が変わってしまって、ヘッダー画像とか作らないといけないから、Xposedのリポジトリの方だけ更新。
画像を作ったらマーケットの方も更新する予定。
http://repo.xposed.info/module/tora.mamma.xclip


あと、今FlipClip対応入れてますので、しばしお待ちお
こっちも画像作らにゃいけないんだけど。

2014年7月14日月曜日

[XClip]また質問の回答&修正

質問来たので、またここに書いておきますね。

★レイアウトがばらばら、文字がでかい、など見た目の問題
 見た目作るの苦手なので起動したアプリのリソース使って履歴作ってたため、アプリ側がデフォルトのリストのレイアウト設定ちゃんとしていない場合とかにずれてたみたいです。
 まぁ、デフォルト設定しない方が多いかもしれない&自分が固定のアプリしか使わなかったから気づきませんでした。
 XClipでレイアウト追加したので、統一はされるはず。
 文字サイズは、起動したアプリのDPIに依存します。

★上の貼り付けメニューとか、選択した時に浮いてる貼り付けボタンではリスト出ないの?
 長押し以外を私があんまり使っていないという理由でやってなかったけど、使ってみたら確かに不便・・?というか違和感あったので追加しておきました。
 
 まず、設定画面で履歴を表示するアクションを選択してください。
 3つ作っておきました。
 ・長押し
 ・上の貼り付けメニュー
 ・選択時の貼り付けボタン

 有効にしたものでリストが出るようにしてあります。


主な変更点は以上。

動かない~っていうメールはやめてくださいw
わからない~としか返せないのでw

2013年9月3日火曜日

[FlipClip]タスクキラーで消える?件

コメントもらってた。
FlipClipがタスクキラーで消えちゃうっていうのの返信。
(ダカラココニカクナッテ)

マーケットの方って文字数制限とかあるから書きにくいんだよね。
あと多分読んでない人とか結構いると思うし。

どうせ読まれないなら、文字数制限のないこっちで。


------------------------------
中身の話になるんですけど、FlipClipはおおよそ2つのプロセスで成り立っています。
1つ目は、ユーザ補助で有効にする奴。
入力ボックスの長押しとかダブルタップを検知して一覧を表示させる奴ね。
2つ目は、クリップボードの中身を最新に保とうとする奴。
クリップボードリスナーか定期的(何秒おき)に端末の最新コピー情報を見て、こっちの持ってる一覧を最新に更新する奴。

で、まず疑問は「消えちゃうのってどっち?」

多分、ユーザ補助の方は端末から起動されるはずだから消えない(消えてもまた起動され直すはず)かな?
となると、クリップ系のサービスね。

で、次の疑問は「リスナーと定期どっち使ってる?」

リスナーの方は、消えにくいサービス(Foregroundサービス)で実装してます。
定期の方はアラームでやってます。

アラームは時計の変更とか画面のOFF時には監視しないようにとかやってるから、意外と消えないかな?
消えてもなんだかんだで復活しそう。

となると、クリップリスナーか。
うーん。
タスクキラーは使っていないからよく分からないけど、どう表示されてんだろう。
除外してもらってるのに消えちゃうって事は、何かわからない感じに表示されてんのかな?

ちなみに、プロセス分けているので、「tora.mamma.flipclip:remote」って表示されてるかも。
どのタスクキラーがどんな表示をしているかはわからないので、何とも言えないけど、通常プロセス名じゃないので除外ミスってるかも?


あとは、タスクキラー関係なしに、ただ死んでるとかw
そうだったらごめんなさい。

タスクキラー対策でゾンビってのはちょっとやりたくないので、このまま死ににくいサービスで続行します。

[SwipeStarter・FliipClip]4.3対応

SwipeStarterSimple版とFlipClipの有料・無料版のAndroid4.3対応をしました。
SwipeStarterSimpleの方はSwipeStarter無印の方の改修を反映させた位かな。

FlipClipの方は、通知に出ちゃう問題のほかに、クリップボードリスナーを使うとクラッシュするという問題があるようで。
最初なんだかコピー周りおかしいなぁと思ってたら、OS側のバグっぽいです。
くわしくはググってください。
なので、一旦OS4.3ではリスナーのチェックボックスを使えなくしました。
すいません。
端末クラッシュするよりは良いでしょ。

またちょっと沼にずぶずぶと引きこもります。。。
機能追加とかめっきり出来てなくてすみません。

2013年8月28日水曜日

[SwipeStarter]4.3対応の不具合

4.3でForegroundサービスのアイコンが出ちゃう問題、あまりにも見た目がアレなので、結構前に修正して自分の使ってる端末で長々とテストをしていました。
長いこと使ってて特に問題ねーなーと思って、昨日リリースしたんだけど、ルートの考慮漏れがあったみたいで、ユーザさんから指摘もらっちった。

ちょっとほっとくとマーカーが消えるようになっちゃったんだって。
Foreground失敗してんジャンorz

んで、ちょっとルート見直してたら、分岐一か所考慮漏れ。
スミマセンでした。

リリースします。

普段使わない設定だから油断してました。
というか、設定項目多すぎが仇になってきたな。

あ、で、4.3対応なんですが、通知に表示されてしまうのはAndroidの仕様のようでどうにも出来ないので、アイコンが表示されないようにしてあるだけです。
なので、通知バーを下すと「実行しています」って感じのが表示されちゃいますが、これはどうにも出来ないみたい。

まぁ、裏でコソコソ動くサービスはセキュリティ的にどうなんだ?という事でしょうね。
そこに居るなら姿を見せろー!的な。

という事です。
他のforegroundサービスを使っている僕のアプリも同様の対応をしてあるんですが、まだ本職が忙しく、暇を見つけてちょいちょい作業している為、一度に不具合報告来たら対応出来ないと思い、順次更新とさせてください。

2013年6月11日火曜日

忙しい。

すいません。
要望いろいろもらってるんですが、リアル仕事が忙しすぎてそれどころではありません。

しばしドロンします。

2013年5月22日水曜日

ちょっと。

メール送るのは良いんだけど、キャリアメールで送って、返信したらPCメール拒否とかやめて。
俺のキャリアメアド晒したくないわ。

どうしろと。

とりあえず、メアド変更して送っといたけど、次から無視しちゃうかもよ!!!

2013年5月16日木曜日

2013年5月14日火曜日

[最前面アプリモニター]とそれを利用したアプリ(杏マナー)


最前面アプリをモニタリングするアプリを作りました。
ここ(http://toramamma.blogspot.jp/p/blog-page.html)に詳しく書いてあります。


最前面アプリモニター
https://www.dropbox.com/s/efm9muad1vyust6/ForegroundMonitor.apk




ユーザ補助から有効にしてください。





せっかくなんで、アプリ毎に音量を切り替えるアプリを作りました。

杏マナー
https://www.dropbox.com/s/vlqbzpbp0zbyf9q/AnzManner.apk








どんなアプリかっていうと、そのままなんですが、アプリ毎に音量を切り替えます。
自分が普段、基本マナーモードで使っているんで、無駄に音量が変わらないように強制マナーアプリを自分で作って使っていました。
ステータスバーから強制マナー解除トグルする感じのアプリなんですけど。
最初はこれで満足だったけど、youtube見たりするときにだけ自分で強制解除しなきゃいけないのがちょっと鬱陶しかった。
なので、作ってみました。

デフォルト音量を決めてもらって、アプリは基本デフォルト音量で動きます。
指定アプリのみ指定の音量になります。

そのほかに強制マナーモードもあります。
これは何があろうとマナーモードにします。
ボリュームボタンを押そうが、それを検知してマナーにします。

そのほかに強制マナーだけど指定アプリ音量は有効にするっていうモードもあります。
指定アプリの時だけ強制マナーモードが解除されて音量を変更できるようになります。

最前面アプリモニターが無いとマーケットに飛ぶようにしてありますが、マーケットにはアップしていないので野良を入れてください。
最前面アプリモニターのユーザ補助がONじゃないと設定画面に飛ぶようにしてありますので、ONにしてください。

またm最前面アプリが切り替わると、問答無用で音量を変更してしまうので、音楽プレイヤー等に利用している場合は挙動がおかしくなるかもしれません。


こんな使い方できますって感じで。
マーケットに登録するのがめんどくさいから野良でおいておきます。

2013年5月10日金曜日

[SwipeStarter]マーカー無効が効かない問題


この間チョロっと書いたけど、マーカー無効の判断をユーザ補助でやるようにしました。
中でどんな処理をしているのかというと、ウインドウが切り替わった際のパッケージ名を取得して、無効リストに設定してあるパッケージと一致したら無効化。
違うパッケージが先頭に来たら有効化っていう処理です。

ここで報告いただいた広告の問題。
広告が表示された場合、ユーザ補助で拾っているようです。
その時のパッケージは・・・・おそらく・・・・広告配信会社のライブラリを用いているはずなので・・・アプリのパッケージとは違う!!!!

アプリ最前面で無効化されても、広告で有効化されますね(汗)

いやすみません。
盲点でした。

広告は・・・・
あの・・
大きな声では言えないんですが・・
広告無いアプリ使ってるか・・・
表示されないように・・・
しているので・・・・・

でも、お間違えの無いように。
私、購入派なんです。
でも有料っていう選択肢すらなかったら。うん。仕方ないよね。
通信の消費電力はバカみたいだから。

近々広告ライブラリのパッケージを無視するような修正入れたバージョンをアップします。
今、無視するパッケージの洗い出し中。

このアプリはダメだったよーとか教えてもらえると、たすかりんこ。

2013年5月9日木曜日

[FlipClip]マッシュルームから起動したときに異常終了しないように


マッシュルームから起動で落ちる問題を対応しました。

クリップボードリスナーが落ちにくくなるように修正しました。

・・・

[swipestarter]マーカー無効でちゃんとマーカー消すように、設定画面のフォントサイズを変更できるように。


マーカー無効(仮)は今まで、マーカーに触っても反応しないようにするだけでした。
今回の修正で、ユーザ補助を導入したので、指定のアプリが最前面の場合、ちゃんとマーカーが消えるようにできます。

ユーザ補助で何をやっているかというと、アプリの切り替わりを検知して指定のアプリが最前面に来た際にマーカーOFFの命令を投げます。
で、そのアプリが違うアプリに切り替わったとき(指定アプリを終了した時)にマーカーONの命令を投げます。

右側の「現在の最前面アプリ変更時のインテント」って奴の応用版です。
個別アプリにしようか迷ったんですが、すでに設定している「無効マーカー」の情報を取得したかったので1アプリに纏めました。

使い方は、ユーザ補助からSwipeStarterを有効にすればOKです。
OFFの場合は今までどおり、触っても起動しないっていう感じになります。
使ってみてください。

あと、大したことじゃないんですけど、設定画面の文字サイズを変更できるようにしました。
大中小の三種類です。

2013年4月26日金曜日

[mozc for android]公開しているSVGをページにまとめた


↓コレ
http://toramamma.blogspot.jp/p/mozc-for-androidsvg.html

もしくは、右側の猫の上のところにページへのリンクが出てるはず。

一応、キートップは全部手を入れたつもり。
ポップアップとキー押下時は・・・いらないでしょ。
要るか。これは後で。


このSVGっての今回初めて触ったんだけど、こんなに癖のあるものなの?
SVGが癖あるっつうか、ビルド時の問題か。

色付けても反映されていなかったりとか、書いてあるのに表示されなかったりとか。
そもそも、自分がこういった類の言葉の意味すら分かっていないからダメなんだけどさ。
SVG自体は中身開いたらXMLだったので、何かをしていないとビルド時に解析できない形に保存されちゃったりするんだろうね。
何だろうね。よく分からん。

それでも、ちょっとコツをつかんできてようやく全キーボードのキートップだけは作り上げました。
コピペするだけなので、良かったら使ってみてください。

2013年4月24日水曜日

[透けテル]標準電話がダイアログに出てこないよーーーーの修正


僕はskype等の電話アプリを入れていないので気づかなかったんですが、タレこみにより発覚。
Android4.1あたりから、電話を掛ける際のどれで掛けるかのダイアログに標準の電話が出なくなっていた模様。

4.1端末がないので微妙ですが、タレこみ端末は4.1っぽかったので、多分4.1から。
前に使っていた4.0ではそんな問題はなかったので。

で、現象としてはこんな感じ。

電話系アプリは標準のみ
→標準電話で発信

標準電話とskype(なんでもいいけど)
→skypeで発信

標準電話とskype(なんでもいいけど)と050plus(なんでもいいけど)
→skypeと050plusのどっち使う?ダイアログが表示


チョット専門チックに書くと、「android.intent.action.CALL_PRIVILEGED」インテントに標準電話が反応しなくなっているっぽい。
透けテルでは、「android.intent.action.CALL_PRIVILEGED」が失敗したら「Intent.ACTION_CALL」投げてたので電話系アプリ入れていなければ標準で掛けられたようです。

で、何を対策したかというと、こんなアクティビティ作って

<activity
 android:name=".Call" >
 <intent-filter>
  <action android:name="android.intent.action.CALL_PRIVILEGED" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:scheme="tel" />
 </intent-filter>
</activity>


中身はこれだけ
public class Call extends Activity {

@Override
protected void onStart() {

super.onStart();

startActivity(new Intent(Intent.ACTION_CALL, getIntent().getData()));
finish();
}
}

要するに、標準CALLを中継する「CALL_PRIVILEGED」インテント受信アクティビティを作ったという事です。
そうすると、発信ボタンを押すと、「skype」と「透けテルアイコンの標準電話」っていう選択肢が出るので、どちらも選択可能と。

こんなんですー。

2013年4月23日火曜日

2013年4月15日月曜日

[SwipeStarter]いろいろと


幾つかの報告・要望・質問が来たので回答とか

①WaitCancelHomeと一緒にして。2つインストールするのめんどくさい
個人的にですが、ランチャーはホームの機能を有するべきではないと思っていますので、めんどくさいかもしれないけど2個入れて。
意味があって分けているので。
別に僕のアプリのインストール数を稼ごうとかそういった意味ではないんです。

②フォルダからのアプリの起動をSwipepad(あ、某)みたいに離さず起動にして
前にも書いたことあるんですけど、僕の開発のスタンスとしては、「巷に出回っていない機能のアプリを作る」です。
人のアイデアパクって作るのって簡単じゃないですか。。。ってか簡単なんですよ。
じゃ、オーバーレイパクるなよっていうのは置いといて(パクリの境界線って結構難しいから)。
一応、一発起動に関しては当時は無かったはず。(あったら御免。だいぶ調べたのでないと思うけど。)

ドロワーとかフォルダとかに関しては、、必要最低限の機能しかないシンプルなものを実装してるつもり。
もはや影も形もないし、これらパクるなとかなったらあわわわわだけど。

で、ちょっと脱線してしまったけど、「このアプリみたいにして」っていうのは僕的にNGです。
パクってって言ってるようなもんですからね。

ちなみに、私は今でも(某)使っています。(余談ですが、あれ、最初使ったとき超感動的だった。)
もちろんSwipeStarterのフォルダも使っています。
使い分けしてる。

何が言いたいかというと、「先駆者にはそれなりの敬意を払いましょう」って事。

極端な話だけど、構想1年~みたいなものを作り上げて、これ良いじゃん!みたいに評価されて来たら、その機能(アイデア)を方々にパクられて終了とかね。
悲しすぎるでしょ。
とはいえ「パクリの境界線」っていう難しい問題があるので何とも。

消費者はこういったことをあまり考えていない(考える必要もない)と思いますが、この記事を読んでいただいているというのも何かの縁なので、ご再考いただければと思います。

③Simple版と無料版って何が違うの?
基本機能に関しては差異はありません。
広告解除 ¥100
マーカー解除 ¥100
ショートカット ¥100
合計 ¥300
が¥200で使えるってだけです。
そのかわり、フォルダ・ドロワ・タスク・ウィジェット等が利用できません。

動作に関しては、どっちが軽いとかもありません。
常駐時のメモリ使用容量も差異は無いと思います。
不要な翻訳ライブラリやプログラムを削っているので、apkの容量は2/3くらいになっています。
更新が少ないです(今はちょっと多いけど)。
あと、広告用の権限削ってます。

こう言ったらアレなんですけど、Simple版って僕的にはなくても良いものです。
むしろ管理が2重になってしまってめんどくさ・・・なんでもありません。
というのも、プログラムを作っている側なので、広告解除・マーカー・ショートカットを購入すれば、実質同一の動作をすることを知っているからです。
で、僕自身がマーカー4つしか使っていないし、ショートカットも使わない、フォルダとドロワ使ってるので広告は解除って感じで¥100で事足りてしまうんですよね。

でも、これは素人さんにはわかりにくいものかもしれませんね。

そもそもSimple版は要望があって作ったんですけど、結果作ってよかったなぁって思いました。
上にもある通り、僕は一緒だから必要な奴だけ課金して使ってよ派だったんですが、Simple版はまー問題が起きない。
そりゃ、基本機能だけだから初期に確立されているでしょ!ってのもあるんだけど、SwipeStarterの問題で多いのがアプリ内課金。
コレホント最悪。

作り方が悪いのか、いや自分の環境ではおかしくなったことないよなぁ。
でもスゲー来る。
アプリ入れ直したら復活出来なくなったから解除コードチョーダイメールが。

アプリ内課金って実はこっちではほとんど何も出来なくて、GooglePlay経由で情報を取得しているだけなんです。
だから、治そうと思っても実際おかしくなる端末使ってログとか取ってみないとわからない。
Playのキャッシュがおかしかったりもすることもあるみたいだし。

この失敗(教訓)を生かしてあれ以降アプリ内課金使っていません。

解除keyアプリみたいのに移行しようと思ったけど、無駄な(アイコンだけの)アプリが増えるからやめた。
実装してしまった手前、最後まで付き合う覚悟です。
購入情報が復活できなくなったらお気兼ねなくメールください。
購入番号書いてってあるけど、購入したPlayのアカウントのGmailからメールくれれば調べられるので、それでもいいですよ。無言メールじゃなければ。

果てしなく凄い脱線したけど、Simple版は無料版の「apkの容量が小さい」「アプリの更新が少ない」「広告用の権限が無い」アプリです。
それ以外の差異はありません。

④画面輝度が反映されない
何回か書いてるけど、オーバーレイ系のランチャーでステータスバーの上とかにマーカー置ける場合はAndroidとして輝度反映を拒否っているようです。
SwipeStarterの場合の対策です。
設定画面を起動してサービスを停止してください。

今、何らかの方法で自動的に判断出来ないか考えています。
でも別アプリになりそうだからどうしようか考え中。



こんな感じ。