;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Briga de casal: stalkear celular mina confiança e pode render até cadeia

iStock
Imagem: iStock

Fabio Andrighetto

Colaboração para o UOL

11/08/2017 04h00

Aplicativos que transformam o celular num rastreador digno dos filmes de James Bond existem e podem ser usados para diferentes finalidades. Essa tecnologia está disponível em praticamente todos os smartphones, pois se fundamenta em recursos, como GPS, presentes mesmo nos dispositivos mais simples do mercado.

A maneira como essa tecnologia será usada é variada. Podem ser pais preocupados com a localização dos filhos pequenos, por filhos que temem lapsos de esquecimento de pais idosos ou como uma garantia, não muito difícil de burlar, em caso de roubo, perda ou furto do smartphone. No entanto, ela também serve para monitorar cônjuges, e isso pode não ser uma boa ideia, pois pode render até prisão.

Recentemente, um caso de Porto Velho (RO) chamou a atenção. Um casal foi detido e levado à delegacia por agressão mútua.

A namorada tentou furtivamente, e sem sucesso, instalar um aplicativo de rastreamento cujo nome não foi divulgado, mas acabou sendo pega no processo. A atitude gerou uma divergência acalorada com o namorado. O caso, como não poderia deixar de ser, acabou na polícia.

“Para uma pessoa ciumenta, tentar exercer controle sobre a vida do parceiro fica ao mesmo tempo mais difícil e perigoso", diz a psicóloga Ana Cristina Sério. "Uma simples curtida em alguma foto ou em algum comentário pode ser interpretado como uma afronta à sua relação."

Há alguns anos, uma empresa criou um “Rastreador de Namorados”, produto voltado especialmente para as namoradas que não tinham confiança em seus companheiros. O produto apresentava até um blog, com dicas para mulheres traídas ou desconfiadas. Por potencialmente violar os direitos de privacidade, o app foi retirado da loja virtual.

"O ciúme sempre esteve presente nos relacionamentos sociais, ou seja, não é um sentimento novo", diz a psicóloga. "Porém, com a internet, as interações entre casais podem ser maiores e mais frequentes. Isso não significa que na vida off-line deste casal as coisas sejam diferentes, muito pelo contrário, pode ser que se comportem da mesma maneira."

"Não seria justo dizer que a culpa é da tecnologia, e sim do uso que fazemos dela e de como interpretamos os acontecimentos online", completa.

E eles foram felizes para sempre...só que não

O episódio em Porto Velho terminou com violência. Para a psicóloga, essa atitude, de forma alguma, pode ser uma solução para um relacionamento. “Por isso o diálogo na relação é sempre muito importante, assim como estabelecer limites para o outro e para nós mesmos. Acredito que ambos aram do ponto neste caso. Nenhuma das atitudes foi realizada no sentido de promover uma melhora na relação."

Além de não ser saudável para seu relacionamento, instalar aplicativo de rastreamento sem o consentimento do proprietário do aparelho é crime com pena de três meses a um ano de detenção e multa.

O advogado Leonardo Zanatta, especialista em direito digital, lembra que o crime está previsto no artigo 154-A  da Lei Carolina Dieckmann, como é conhecida a lei 12.737/2012.

"Invadir dispositivo informático alheio, conectado ou não à rede de computadores, mediante violação indevida de mecanismo de segurança e com o fim de obter, adulterar ou destruir dados ou informações sem autorização expressa ou tácita do titular do dispositivo ou instalar vulnerabilidade para obter vantagem ilícita."

Portanto, se a intenção é boa, o ideal é informar que o dispositivo será rastreado por questões de segurança. Agora, quando a questão se fundamenta no ciúme, é preciso que os envolvidos repensem certas atitudes. Caso a situação se agrave, convém procurar ajuda especializada.