Coder Social home page Coder Social logo

mm-v1's Introduction

MahoMaps v1

logo

Yandex.Maps client for MIDP2-capable devices.

Features

  • Geolocation detection
  • Map caching
  • Search
  • Organization cards
  • Building a route

System requirements

  • CLDC 1.1
  • MIDP 2.0
  • JSR-75
  • A lot of RAM
  • A lot of space in persistent memory
  • JSR-179 (optional)
  • HTTPS support (optional)

Recommended system tweaks

On symbian 9.x, it's recommended to install a patch to allow access to file system without confirmation popups.

How to make geolocation work?

  • On Symbian 9.x / ^3 disable all location sources except unassisted GPS.
  • Disable A-GPS. On non-symbian devices it may be called as "geolocation server", "internet support", "supplement server" or something like that.
  • Let your device perform a cold start: request geolocation in any app (MahoMaps, Google Maps, Ovi Maps, Sports tracker, anything else) and keep the device under clear sky. It is desirable that the horizon is visible. Wait until it catches sattelites. May take a while.
  • Once you are sure that GPS receiver works okay, you may try to enable A-GPS to increase accuracy and startup time. We recommend using supl.google.com as supplement server. supl.nokia.com is dead!
  • If you experience issues, try disabling A-GPS.
  • If you device can't catch sattelites even in good weather, check that its GPS receiver is operable.

Tested systems

  • Symbian ^3/Anna/Belle/Refresh/FP1/FP2
  • Symbian 9.2-9.4
  • Bada 1.1

Supported emulators

Build without IDE

Github actions

We have an action which builds the app on git pushes. You can pull latest builds from it, check "checks" section of your pull request or commit info.

Windows

Install an SDK for your device, follow its instructions.

Debian / Ubuntu

dpkg --add-architecture i386
apt update
apt-get install gcc-multilib libxt6:i386

Then install 32-bit JDK 1.6.0 and WTK 2.5.2. Edit build script to use your installed tools (instead of "compiler" repo clone) and run it.

Contact us

Telegram chat

Adding your own localisation

  • Create copy of en.txt/ru.txt, name it with your language's code and translate all strings.
  • Keep in mind that original language of app was russian (russian is original. Not english).
  • You can test how it will look like with replacing english file, for example.
  • To make it actually work as one more language, you need to make 3 changes in app's code:
  1. Go to Settings.java. In GetUiLangFile() add one more case (with next number) to the switch. Make it return name of your file without .txt.
  2. Startup selection: MahoMapsApp.java, processFirstLaunch(). Add your language to lang choice group. Name it in english (Russian, not Русский).
  3. Settings menu: SettingsScreen.java, ChoiceGroup uiLang. Add your language. Name it as is (Русский, not Russian).

CI on your pull request will attempt to compile the project. If you failed somewhere, it will show that.

mm-v1's People

Contributors

eyadmahm0ud avatar feodor0090 avatar musecat77 avatar petrprogs avatar shinovon avatar veselcraft avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mm-v1's Issues

Compiliing from sources

How to compile u'r project from sources? Is jdk for x64 or x32? Please, add manual for compiling from sources

Invalid port on S40v5 Lite

Discussed in #27

Originally posted by dimon495 May 26, 2023
Не работают сетевые функции, нужны правки в коде для добавки порта :80 к HTTP запросам
photo_2023-05-25_23-12-45
photo_2023-05-25_23-12-45 (2)
photo_2023-05-25_23-12-45 (3)

Drop icon256

Используется только в экране "О". Жирно.

Add telemetry for about/others screens

Я говорил что не будет, но нет, будет. Я хочу знать открывает ли вообще кто-то эти 2 экрана, или они так, для красоты у нас.

Does not work through cellular on Blackberry

Please add a dialog window to choose between Wi-Fi and cellular network at app first start and an option to change it later in the app's settings. At the moment, the app tries to connect through Wi-Fi and crashes with "the required radio is not active" error. Wi-Fi adapter is disabled in Russian version of Blackberry 9520.

`GeoUpdateThread.<clinit>` is unsafe

This works only because all tested JVMs follow https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-5.html#jvms-5.5 and call <clinit> only when the class is actually used. This happens when user requests geolocation from map screen. At this point, LoadLocale() is guaranteed to be called. Otherwise, you will get something like

java.lang.ExceptionInInitializerError
	at mahomaps.MahoMapsApp.<clinit>(MahoMapsApp.java:73)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at emulator.Emulator.main(A:955)
Caused by: java.lang.NullPointerException
	at mahomaps.map.GeoUpdateThread.<clinit>(GeoUpdateThread.java:153)
	... 4 more

While this will be the case only on VERY broken custom jvms, this is still bad due to being one of blockers to support dynamic language switch. That array should hold only numbers of texts, not texts themselves.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.