Build 574548stable
Module 461213
3,163 characters · in no known chunkDependencies
Required by (39)
Lazily required by (0)none
Requires (17)
Lazily requires (0)none
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>F}),n(321073),n(938796);var i=n(812729),r=n.n(i),s=n(735438),a=n.n(s),o=n(665260),l=n(17928),u=n(228366),c=n(90644),d=n(655116),_=n(885386),h=n(617617),f=n(674378),E=n(760751),p=n(885576),m=n(189081),g=n(480595),A=n(290863),I=n(528767),T=n(652215);let S=!1,N=T.clD.ONLINE,C=T.clD.UNKNOWN,y=0,O=[],R=[],v=!1,b=!0,L=Object.freeze([]),D=Object.freeze([]),w=[],P=[];function M(e){if(0===e.length)return e;let t=[],n=[];for(let i of e)i.type===T.$pd.PLAYING?n.push(i):t.push(i);return 0===n.length||1===n.length?e:[...t,[...n].sort(A.m)[0]].sort(A.m)}function x(e){return(0,f.kv)(e,m.A)}function U(e){if((0,o.Lt)(e.flags??0,T.jUm.CONTEXTLESS))return!0;switch(e.type){case T.$pd.LISTENING:if((0,c.A)(e))return d.A.shouldShowActivity();if(null!=e.application_id)return x(e.application_id);return!1;case T.$pd.PLAYING:var t;let n;return null!=e.application_id?x(e.application_id):(t=e.name,1===(n=E.A.searchGamesByName(t)).length?x(n[0]):_.tz.getSetting());case T.$pd.STREAMING:case T.$pd.WATCHING:default:return null==e.application_id||x(e.application_id)}}function k(){if(y=p.A.getIdleSince()??0,v=p.A.isAFK(),b)N=C;else if(S)N=T.clD.INVISIBLE;else{let e=_.jP.getSetting();N=e!==T.clD.UNKNOWN?e:T.clD.ONLINE}N===T.clD.ONLINE&&y>0&&(N=T.clD.IDLE);let e=!1,t=b||N===T.clD.INVISIBLE?[]:g.A.getActivities().filter(U);r()(O,t)||(O=t,R=M(t),e=!0);let n=I.A.getRemoteActivities();L!==n&&(L=n,e=!0);let i=I.A.getHiddenActivities();D!==i&&(D=i),e&&(P=M(w=a()([...O,...L.filter(e=>e.type!==T.$pd.CUSTOM_STATUS)].sort(A.m)).uniqBy(e=>`${e.type}:${e.application_id}:${e.name}`).value()))}function G(){b=!1,C=T.clD.UNKNOWN,k(),A.A.setCurrentUserOnConnectionOpen(N,w)}class V extends l.Ay.Store{static displayName="SelfPresenceStore";initialize(){this.waitFor(E.A,p.A,m.A,g.A,A.A,I.A,d.A,h.A),this.syncWith([g.A],k)}getLocalPresence(){return{status:N,since:y,activities:R,afk:v}}getStatus(){return N}getActivities(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?P:R}getUnfilteredActivities(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return e?w:O}getHiddenActivities(){return D}getPrimaryActivity(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0];return this.getActivities(e)[0]}getApplicationActivity(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return this.findActivity(t=>t.application_id===e,t)}findActivity(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1];return this.getActivities(t).find(e)}}let F=new V(u.h,{START_SESSION:k,CONNECTION_OPEN:function(){G()},CONNECTION_OPEN_SUPPLEMENTAL:G,OVERLAY_INITIALIZE:G,CONNECTION_CLOSED:k,IDLE:k,AFK:k,RUNNING_GAMES_CHANGE:k,STREAMING_UPDATE:k,USER_SETTINGS_PROTO_UPDATE:k,LOCAL_ACTIVITY_UPDATE:k,SPOTIFY_PLAYER_STATE:k,SPOTIFY_PLAYER_PLAY:k,USER_CONNECTIONS_UPDATE:k,SESSIONS_REPLACE:k,RPC_APP_DISCONNECTED:k,LIBRARY_FETCH_SUCCESS:k,LIBRARY_APPLICATION_FLAGS_UPDATE_SUCCESS:k,LOGOUT:function(){b=!0,C=N,k()},FORCE_INVISIBLE:function(e){return S=e.invisible,k()},WINDOW_FOCUS:function(){return S=!1,k()},APP_STATE_UPDATE:function(e){if(e.state!==T.g6G.ACTIVE||!S)return!1;S=!1,k()}})}