プロジェクト

全般

プロフィール

機能 #1002

完了

インテントが発動しない。その2(提案)

Satoshi Okuno さんが7年以上前に追加. 7年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
開始日:
2017-03-23
期日:
進捗率:

0%

プラグイン名:
intent_selector.rb

説明

似たようなマッチ条件のインテントが複数ある場合で、とあるURLがそのどちらの条件もマッチした場合、「どの方法で開きますか?」が表示されます。
(例:まったく同じ条件のインテントが二つ以上登録されている場合)

intent_open()で、推奨インテントが一個なら発動。それ以外は「どの方法で?」が出るロジックになっているのが原因と思います。

動きとして、マッチしたインテントの中から、何らかの優先順位で一つが選ばれて発動するのが良いと考えます。

例えば、同じURLマッチ条件の(未定義)と対象(モデル)ありインテントが定義されていた場合、対象ありが優先されるべきと思います。

また、同じモデルでURLマッチ条件の長さが異なる場合、より長い文字列にヒットした方を優先するのはどうでしょうか。
(http://teokureとhttp://teokure/ahiruなインテントが定義されている場合、http://teokure/ahiru/yaki.htmlを「開く」時は、より具体的な後者が発動するべきと思っています)

上記をまとめると、こんな感じの優先順位が良いかと思っています。いかがでしょうか。

【優先度高】
対象(モデル)付きインテント(マッチ用文字列長が長い)
対象(モデル)付きインテント(マッチ用文字列長が短い)
対象が(未定義)インテント(マッチ用文字列長が長い)
対象が(未定義)インテント(マッチ用文字列長が短い)
【優先度低】

#1001も踏まえたintent_selector.rbを添付しますので、ご確認いただければ幸いです。


ファイル

intent_selector.rb (5.7 KB) intent_selector.rb Satoshi Okuno, 2017-03-23 23:32
0002-.patch (2.67 KB) 0002-.patch Satoshi Okuno, 2017-03-26 12:58

他の形式にエクスポート: Atom PDF