Project

General

Profile

Actions

機能 #1002

closed

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

Added by Satoshi Okuno over 8 years ago. Updated over 8 years ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
Start date:
2017-03-23
Due date:
% Done:

0%

プラグイン名:
intent_selector.rb

Description

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

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

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

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

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

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

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

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


Files

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
Actions

Also available in: Atom PDF