Sachverhalt:
A.
Die Staatsanwaltschaft Zürich-Sihl führte eine Strafuntersuchung gegen A._. Am 28. Mai 2019 nahm ihn die Polizei fest. Mit Verfügung vom 31. Mai 2019 versetzte ihn das Zwangsmassnahmengericht des Bezirks Zürich in Untersuchungshaft, welche es in der Folge jeweils verlängerte.
Am 22. April 2020 erhob die Staatsanwaltschaft Anklage beim Bezirksgericht Zürich. Sie beantragte die Verurteilung von A._ wegen versuchten Raubes, mehrfacher Sachbeschädigung und Widerhandlungen gegen das Betäubungsmittelgesetz zu 7 Monaten Freiheitsstrafe und Fr. 200.-- Busse sowie die Anordnung einer stationären Massnahme nach Art. 59 Abs. 1 StGB (Behandlung psychischer Störungen).
Gleichentags beantragte die Staatsanwaltschaft dem Zwangsmassnahmengericht die Anordnung von Sicherheitshaft.
Mit Verfügung vom 28. April 2020 versetzte das Zwangsmassnahmengericht A._ in Sicherheitshaft. Es bewilligte diese vorerst bis zum 28. Oktober 2020, längstens aber bis zur Eröffnung des bezirksgerichtlichen Urteils.
Die von A._ dagegen erhobene Beschwerde wies das Obergericht des Kantons Zürich (III. Strafkammer) am 25. Mai 2020 ab. Es bejahte den dringenden Tatverdacht und Wiederholungsgefahr. Die Haft beurteilte es als verhältnismässig und deren Verlängerung um 6 Monate, d.h. bis zum 28. Oktober 2020, als zulässig.
B.
A._ führt Beschwerde in Strafsachen mit dem Antrag, den Entscheid des Obergerichts aufzuheben, soweit er die Befristung der Sicherheitshaft bis zum 28. Oktober 2020 betrifft. Die Sicherheitshaft sei zu befristen bis vorerst 24. Juli 2020, längstens bis zur Eröffnung des bezirksgerichtlichen Urteils.
C.
Das Obergericht und die Staatsanwaltschaft haben auf Vernehmlassung verzichtet.
Erwägungen:
1.
Gegen den angefochtenen Entscheid ist gemäss Art. 78 Abs. 1 BGG die Beschwerde in Strafsachen gegeben. Ein kantonales Rechtsmittel steht nicht zur Verfügung. Die Beschwerde ist somit nach Art. 80 BGG zulässig. Der Beschwerdeführer ist gemäss Art. 81 Abs. 1 lit. a und b Ziff. 1 BGG zur Beschwerde berechtigt. Der angefochtene Entscheid stellt einen Zwischenentscheid dar, der dem Beschwerdeführer einen nicht wieder gutzumachenden Nachteil im Sinne von Art. 93 Abs. 1 lit. a BGG verursachen kann. Die weiteren Sachurteilsvoraussetzungen sind ebenfalls erfüllt und geben zu keinen Bemerkungen Anlass.
2.
2.1. Der Beschwerdeführer bringt vor, das Zwangsmassnahmengericht hätte die Sicherheitshaft nicht für längstens 6 Monate, sondern lediglich für längstens 3 Monate anordnen dürfen. Wenn die Vorinstanz den Entscheid des Zwangsmassnahmengerichts insoweit geschützt habe, verletze das Bundesrecht.
2.2. Gemäss Art. 220 StPO beginnt die Untersuchungshaft mit ihrer Anordnung durch das Zwangsmassnahmengericht und endet unter anderem mit dem Eingang der Anklage beim erstinstanzlichen Gericht (Abs. 1). Als Sicherheitshaft gilt die Haft während der Zeit zwischen dem Eingang der Anklageschrift beim erstinstanzlichen Gericht und der Rechtskraft des Urteils, dem Antritt einer freiheitsentziehenden Sanktion, dem Vollzug der Landesverweisung oder der Entlassung (Abs. 2).
Nach Art. 229 StPO entscheidet über die Anordnung der Sicherheitshaft bei vorbestehender Untersuchungshaft das Zwangsmassnahmengericht auf schriftliches Gesuch der Staatsanwaltschaft (Abs. 1). Das Verfahren vor dem Zwangsmassnahmengericht richtet sich bei vorbestehender Untersuchungshaft sinngemäss nach Artikel 227 (Abs. 3 lit. b).
Gemäss Art. 227 Abs. 7 StPO wird die Verlängerung der Untersuchungshaft jeweils für längstens 3 Monate, in Ausnahmefällen für längstens 6 Monate bewilligt.
Nach der Rechtsprechung liegt ein Ausnahmefall im Sinne von Art. 227 Abs. 7 StPO etwa vor, wenn von vornherein ersichtlich ist, dass der Haftgrund auch nach mehr als 3 Monaten noch gegeben ist oder langwierige Erhebungen mittels Rechtshilfe erforderlich sind (Urteile 1B_465/2018 vom 2. November 2018 E. 4.4; 1B_145/2017 vom 4. Mai 2017 E. 4.4; je mit Hinweisen).
2.3. Das Zwangsmassnahmengericht erwog, es handle sich um einen Fall kollegialgerichtlicher Kompetenz, weshalb die bezirksgerichtliche Hauptverhandlung in der derzeitigen Ausnahmesituation (gemeint: Corona-Krise) kaum innert 3 Monaten terminiert werden könne. Es rechtfertige sich angesichts der dem Beschwerdeführer vorgeworfenen Delinquenz sowie der bisherigen Haftdauer, die Anordnung der Sicherheitshaft auf einstweilen 6 Monate zu befristen.
Dem folgt die Vorinstanz lediglich im Ergebnis. Sie führt aus, angesichts der konkreten Verhältnisse, insbesondere der vom Beschwerdeführer ausgehenden deutlichen und ausgeprägten Gefahr für Dritte, werde der Haftgrund der Wiederholungsgefahr auch nach mehr als 3 Monaten noch unverändert vorliegen, womit sich ausnahmsweise auch die vom Zwangsmassnahmengericht auf 6 Monate befristete Sicherheitshaft rechtfertige.
2.4. Im Zeitpunkt, in dem das Zwangsmassnahmengericht Sicherheitshaft anordnet, ist die Strafuntersuchung abgeschlossen und bereitet das erstinstanzliche Gericht - sofern auf die Anklage einzutreten ist - die Hauptverhandlung vor (Art. 330 StPO). Dass sich an den Haftgründen (Wiederholungs-, Flucht-, Kollusions- oder Ausführungsgefahr) in dieser Phase des Verfahrens nichts mehr ändert, ist die Regel. Träfen die vorinstanzlichen Erwägungen zu, wäre die Sicherheitshaft deshalb in der Regel für längstens 6 Monate anzuordnen. Dies widerspricht Art. 229 Abs. 3 lit. a i.V.m. Art. 227 Abs. 7 StPO, wonach die Anordnung der Sicherheitshaft für längstens 6 Monate auf Ausnahmefälle beschränkt ist.
Wesentlich für die Festsetzung der Dauer der Sicherheitshaft ist, wie lange das erstinstanzliche Gericht voraussichtlich für die Vorbereitung der Hauptverhandlung brauchen wird. Handelt es sich etwa um einen aufwändigen und komplexen Wirtschaftsstraffall mit umfangreichen Akten und ist absehbar, dass das erstinstanzliche Gericht die Hauptverhandlung nicht innert 3 Monaten ansetzen kann, spricht dies für die ausnahmsweise Zulässigkeit der Anordnung der Sicherheitshaft für längstens 6 Monate.
Um einen derartigen Fall geht es hier nicht. Die Staatsanwaltschaft wirft dem Beschwerdeführer im Wesentlichen vor, beim Versuch des Diebstahls eines T-Shirts durch eine Mitbeschuldigte den Verkäufer abgelenkt zu haben und, nachdem die Mitbeschuldigte ertappt worden war, auf diesen eingeschlagen zu haben. Hinzu kommen im Vergleich dazu untergeordnete Widerhandlungen gegen das Betäubungsmittelgesetz. Der Fall bietet weder in tatsächlicher noch rechtlicher Hinsicht besondere Schwierigkeiten. Die heikelste Frage ist, ob gegen den Beschwerdeführer gegebenenfalls eine stationäre Massnahme nach Art. 59 StGB anzuordnen sei. Dazu hat sich der psychiatrische Sachverständige in seinem Gutachten vom 11. Februar 2020 eingehend geäussert. Auch insoweit verursacht der Fall deshalb keinen besonderen Aufwand.
Unter diesen Umständen müsste die Ansetzung der Hauptverhandlung innert 3 Monaten möglich sein. Dies gilt auch dann, wenn man berücksichtigt, dass das Bezirksgericht über die Angelegenheit als Kollegialgericht in der Besetzung mit drei Richtern urteilt und diese die Akten vor der Hauptverhandlung sichten müssen (§ 14 i.V.m. § 27 Abs. 1 lit. b Ziff. 3 des Gesetzes vom 10. Mai 2010 des Kantons Zürich über die Gerichts- und Behördenorganisation im Zivil- und Strafprozess [LS 211.1]; Art. 330 Abs. 2 StPO). Dass die Ansetzung der Hauptverhandlung innert 3 Monaten wegen der Corona-Krise ausser Betracht falle, legt die Vorinstanz nicht dar. Dies ist auch nicht ersichtlich, da die Akten auch im Home-Office studiert werden können. Wenn die Vorinstanz die Anordnung der Sicherheitshaft für längstens 6 Monate als zulässig erachtet, signalisiert sie damit dem Bezirksgericht, es könne sich mit der Ansetzung der Hauptverhandlung ruhig Zeit lassen. Dies lässt sich mit Art. 5 Abs. 2 StPO nicht vereinbaren. Danach wird das Verfahren vordringlich geführt, wenn sich der Beschuldigte in Haft befindet.
2.5. Die dargelegte Rechtsprechung, wonach ein Ausnahmefall nach Art. 227 Abs. 7 StPO vorliegen kann, wenn von vornherein ersichtlich ist, dass der Haftgrund auch nach mehr als 3 Monaten noch gegeben sein wird, ist demnach zu präzisieren. Ein Ausnahmefall kann bei der Verlängerung der Untersuchungshaft angenommen werden, wenn zum Vornherein ersichtlich ist, dass der Haftgrund auch nach mehr als 3 Monaten noch gegeben sein wird und dass die Strafuntersuchung zudem innert 3 Monaten nicht abgeschlossen werden kann. So kann es sich beispielsweise bei einem komplexen Mordfall verhalten, wenn ausgeprägte Fluchtgefahr besteht. Bei der Anordnung von Sicherheitshaft kann dagegen kein Ausnahmefall angenommen werden, wenn das erstinstanzliche Gericht aufgrund der Umstände und mit Blick auf das besondere Beschleunigungsgebot in Haftsachen (Art. 5 Abs. 2 StPO) in der Lage sein müsste, die Hauptverhandlung innert 3 Monaten anzusetzen und durchzuführen.
2.6. Die Sicherheitshaft wird hier deshalb längstens für 3 Monate bewilligt. Sollte sich das Bezirksgericht ausserstande sehen, die Hauptverhandlung innert dieser Frist anzusetzen, könnte seine Verfahrensleitung dem Zwangsmassnahmengericht die Verlängerung der Sicherheitshaft beantragen (Urteil 1B_188/2012 vom 19. April 2012 E. 2).
Die Beschwerde ist im vorliegenden Punkt demnach begründet.
3.
3.1. Die Staatsanwaltschaft erhob am 22. April 2020 Anklage. Diese ging am 24. April 2020 beim Bezirksgericht ein. Ebenso am 24. April 2020 ging der Antrag auf Anordnung der Sicherheitshaft beim Zwangsmassnahmengericht ein. Gleichtags verfügte dieses die provisorische Fortdauer der Haft bis zu seinem definitiven Entscheid. Am 28. April 2020 versetzte das Zwangsmassnahmengericht den Beschwerdeführer in Sicherheitshaft. Dieser bringt vor, die Frist von 3 Monaten sei zu berechnen nicht ab dem Datum des Entscheids des Zwangsmassnahmengerichts vom 28. April 2020, sondern ab dem Eingang der Anklage beim Bezirksgericht, also ab dem 24. April 2020. Die Frist ende somit am 24. Juli 2020.
3.2. Gemäss Art. 220 StPO endet die Untersuchungshaft mit dem Eingang der Anklage beim erstinstanzlichen Gericht und beginnt ab diesem Zeitpunkt die Sicherheitshaft.
Art. 227 StPO, der hier nach Art. 229 Abs. 3 lit. b StPO sinngemäss anwendbar ist, regelt das Verfahren bei einem Gesuch um Verlängerung der Untersuchungshaft und bestimmt was folgt: Läuft die vom Zwangsmassnahmengericht festgesetzte Dauer der Untersuchungshaft ab, so kann die Staatsanwaltschaft ein Haftverlängerungsgesuch stellen. Hat das Zwangsmassnahmengericht die Haftdauer nicht beschränkt, so ist das Gesuch vor Ablauf von 3 Monaten Haft zu stellen (Abs. 1). Die Staatsanwaltschaft reicht dem Zwangsmassnahmengericht das schriftliche und begründete Gesuch spätestens 4 Tage vor Ablauf der Haftdauer ein und legt ihm die wesentlichen Akten bei (Abs. 2). Das Zwangsmassnahmengericht gibt der beschuldigten Person und ihrer Verteidigung Gelegenheit, die ihm vorliegenden Akten einzusehen und innert 3 Tagen schriftlich zum Gesuch Stellung zu nehmen (Abs. 3). Es kann die provisorische Fortdauer der Untersuchungshaft bis zu seinem Entscheid anordnen (Abs. 4). Das Zwangsmassnahmengericht entscheidet spätestens innert 5 Tagen nach Eingang der Stellungnahme beziehungsweise Ablauf der in Absatz 3 genannten Frist (Abs. 5).
Aufgrund der in Art. 227 StPO enthaltenen Fristbestimmungen entscheidet das Zwangsmassnahmengericht über die Verlängerung der Untersuchungshaft in der Regel erst nach Ablauf der ursprünglich festgesetzten Dauer der Untersuchungshaft. Mit der provisorischen Anordnung der Fortdauer der Untersuchungshaft gemäss Art. 227 Abs. 4 StPO wird vermieden, dass es zwischen dem Ablauf der ursprünglich festgesetzten Dauer der Untersuchungshaft und dem Entscheid des Zwangsmassnahmengerichts nach Art. 227 Abs. 5 StPO an einem gültigen Hafttitel fehlt.
3.3. Im Schrifttum wird ohne nähere Begründung ausgeführt, die Frist von 3 bzw. 6 Monaten gemäss Art. 227 Abs. 7 StPO berechne sich ab dem Zeitpunkt des Entscheids des Zwangsmassnahmengerichts nach Art. 227 Abs. 5 StPO (MARC FORSTER : in: Schweizerische Strafprozessordnung, Basler Kommentar, 2. Aufl. 2014, N. 14 zu Art. 227 StPO und Fn. 72). Dem folgt die Vorinstanz in einem Beschluss vom 13. April 2016 (ZR 115/2016 N. 72 S. 280 f. E. 6.2).
3.4. Gegenstand von Art. 227 StPO ist die Verlängerung der Untersuchungshaft nach Ablauf ihrer vom Zwangsmassnahmengericht festgesetzten Dauer. Dies ergibt sich klar aus dessen Absatz 1 Satz 1. Wenn Art. 227 Abs. 7 StPO die Verlängerung der Untersuchungshaft jeweils für längstens 3 bzw. 6 Monate als zulässig erklärt, spricht das deshalb dafür, diese Fristen zu berechnen ab dem Ablauf der vom Zwangsmassnahmengericht festgesetzten Haftdauer. Dies stützt Art. 227 Abs. 4 StPO, wonach das Zwangsmassnahmengericht die provisorische Fortdauer der Untersuchungshaft bis zu seinem Entscheid anordnen kann. Nach dem klaren Wortlaut dieser Bestimmung geht es insoweit bereits um die Verlängerung der Untersuchungshaft über die ursprünglich festgesetzte Dauer hinaus und nicht um eine Haft sui generis während des zwangsmassnahmengerichtlichen Verfahrens. Dies legt es nahe, die Zeitspanne, um welche das Zwangsmassnahmengericht die Haft nach Art. 227 Abs. 4 StPO provisorisch verlängert hat, bei der Festlegung der Frist nach Art. 227 Abs. 7 StPO anzurechnen. Folgendes kommt hinzu: Die Haft stellt einen schweren Eingriff in das Grundrecht der persönlichen Freiheit (Art. 10 Abs. 2 BV) dar. Sie bedarf daher, auch was ihre Dauer betrifft, einer klaren gesetzlichen Grundlage (BGE 144 I 126 E. 5.1 S. 134 mit Hinweisen). Eine solche gesetzliche Grundlage dafür, die Frist gemäss Art. 227 Abs. 7 StPO ab dem Zeitpunkt des Entscheids des Zwangsmassnahmengerichts nach Art. 227 Abs. 5 StPO beginnen zu lassen (und damit die Haft für eine längere Dauer als zulässig anzusehen), besteht nicht. Die Frist von längstens 3 bzw. 6 Monaten nach Art. 227 Abs. 7 StPO ist deshalb zu berechnen ab dem Ablauf der Dauer der ursprünglich festgesetzten Untersuchungshaft.
3.5. Bei der Anordnung von Sicherheitshaft bei vorbestehender Untersuchungshaft kann, da insoweit Art. 227 StPO sinngemäss anwendbar ist, nichts anderes gelten. Die Untersuchungshaft endet mit dem Eingang der Anklageschrift beim erstinstanzlichen Gericht. Dies entspricht dem Ablauf der Dauer der ursprünglich angeordneten Untersuchungshaft bei einer Haftverlängerung. Gemäss Art. 220 Abs. 2 StPO beginnt ab dem Eingang der Anklage beim erstinstanzlichen Gericht die Sicherheitshaft zu laufen. Wenn gemäss Art. 229 Abs. 3 lit. b in Verbindung mit Art. 227 Abs. 7 StPO die Sicherheitshaft auf längstens 3 bzw. 6 Monate zu begrenzen ist, ist diese Dauer deshalb zu berechnen ab dem Zeitpunkt des Eingangs der Anklageschrift beim erstinstanzlichen Gericht (ebenso Beschluss der Vorinstanz vom 28. September 2016 [UB 160123] E. 7.8).
3.6. Im vorliegenden Fall ging die Anklage am 24. April 2020 beim Bezirksgericht ein. Bereits ab diesem Tag befand sich der Beschwerdeführer (provisorisch) in Sicherheitshaft. Der 24. April 2020 ist bei der Berechnung der Dauer von 3 Monaten mitzuzählen. Daraus ergibt sich gemäss Art. 110 Abs. 6 StGB, der auch bei der Berechnung der Fristen der Strafprozessordnung anwendbar ist, die Begrenzung der Sicherheitshaft nicht, wie vom Beschwerdeführer beantragt, auf den 24. Juli 2020, sondern auf den 23. Juli 2020 (BGE 127 II 174 E. 2b/cc S. 176 f.; NIKLAUS OBERHOLZER, Grundzüge des Strafprozessrechts, 4. Aufl. 2020, S. 397 N. 1289; DANIEL LOGOS, in: Code de procédure pénale suisse, Commentaire Romand, 2. Aufl. 2019; N. 7 zu Art. 227 StPO; MATTHIAS ZURBRÜGG, in: Strafrecht I, Basler Kommentar, 4. Aufl. 2019, N. 7, 12 und 16 zu Art. 110 Abs. 6 StGB).
Da der Beschwerdeführer die Befristung der Sicherheitshaft auf 3 Monate verlangt und diese am 23. Juli 2020 ablaufen, geht das Bundesgericht damit in der Sache nicht über den Antrag des Beschwerdeführers hinaus, weshalb Art. 107 Abs. 1 BGG dieser Befristung nicht entgegensteht. Dass der Beschwerdeführer das Ende der Frist fälschlicherweise auf den 24. Juli 2020 berechnet, schadet ihm daher nicht.
4.
Die Beschwerde ist demnach gutzuheissen und der angefochtene Beschluss aufzuheben, soweit die Vorinstanz die Sicherheitshaft bis zum 28. Oktober 2020 genehmigt hat. Die Sicherheitshaft wird bewilligt bis vorerst zum 23. Juli 2020, längstens aber bis zur Eröffnung des bezirksgerichtlichen Urteils (Art. 231 StPO).
5.
Bei diesem Ausgang des Verfahrens sind keine Gerichtskosten zu erheben (Art. 66 Abs. 4 BGG) und hat der Kanton dem Vertreter des Beschwerdeführers eine Entschädigung zu bezahlen (Art. 68 Abs. 1 f. BGG). Das Gesuch um unentgeltliche Rechtspflege und Verbeiständung nach Art. 64 BGG ist damit gegenstandslos. Die Akten werden an die Vorinstanz zurückgewiesen zur Neuregelung der kantonalen Kosten- und Entschädigungsfolgen (Art. 67 und Art. 68 Abs. 5 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird gutgeheissen und der Beschluss des Obergerichts des Kantons Zürich vom 25. Mai 2020 aufgehoben, soweit dieses die Sicherheitshaft bis zum 28. Oktober 2020 genehmigt hat. Die Sicherheitshaft wird bewilligt bis vorerst zum 23. Juli 2020, längstens aber bis zur Eröffnung des bezirksgerichtlichen Urteils.
2.
Es werden keine Gerichtskosten erhoben.
3.
Der Kanton Zürich hat dem Vertreter des Beschwerdeführers, Rechtsanwalt Peter Sprenger, eine Entschädigung von Fr. 2'000.-- zu bezahlen.
4.
Die Akten werden an das Obergericht zurückgewiesen zur Neuregelung der kantonalen Kosten- und Entschädigungsfolgen.
5.
Dieses Urteil wird dem Beschwerdeführer, der Staatsanwaltschaft Zürich-Sihl und dem Obergericht des Kantons Zürich, III. Strafkammer, schriftlich mitgeteilt.
Lausanne, 6. Juli 2020
Im Namen der I. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Chaix
Der Gerichtsschreiber: Härri